向你推荐 6 个很酷很实用的 Python 编码技巧

news2024/10/3 10:35:21

近年来,Python 编码技能的需求不断增长。在本作者前面文章介绍的多种基础上,我们整理了 6 个很酷很实用的 Python 编码技巧,您可以使用它们来改进代码、提高 Python 技能。

1.变量

在 Python 中,我们不需要使用临时变量,直接交换两个变量的值。同时,还可以进行计算赋值。

a = 1   b = 2   a, b = b, a   print(a,b)   # 输出:2 1      a = 1   b = 2   a, b = b, a + 2   print(a, b)   # 输出:2 3   

在单个变量赋值中,可以使用自动解包将可迭代对象解压缩到变量。

a, b, c = [1, 2, 3]   print(a)   print(b)   print(c)   # 输出:   1   2   3   

还可以使用 “*” 将多个值收集到单个变量中——这个 Python 技巧称为打包。

a, b* = 1, 2, 3   print(a, b)   # 输出:   1 [2, 3]   

2.列表与元组

大多数 Python 程序员都熟悉列表数据结构。元组用的少。它们都是可迭代对象,允许索引,在某些情况下,使用元组可能优于列表。

import sys   a = [1, 2, 3, 4, 5]   b = (1, 2, 3, 4, 5)   print(f"列表尺寸: {sys.getsizeof(a)} bytes")   print(f"元组尺寸: {sys.getsizeof(b)} bytes")   # 输出   列表尺寸: 56 bytes   元组尺寸: 48 bytes   

列表是可变的,元组是不可变的,出于这个原因,元组的内存效率更高。

3.变量别名

Python 是一种面向对象的编程语言。一切都是对象。因此,将对象分配给变量就是创建对该对象的引用。

当我们将一个变量分配给另一个变量时,我们最终会得到两个引用同一对象的变量。这是一个称为别名的概念。一个别名中的更改将影响另一个别名。有时这种情况会让我们措手不及。

a = [1, 2, 3, 4 ,5]   b = a   b[4] = 7   print(a)   print(id(a))   print(id(b))   # 输出:   [1, 2, 3, 4, 7]   60826048   60826048   

解决方法之一是创建原始对象的克隆而不是引用。

a = [1, 2, 3, 4 ,5]   b = a[:]  # 或:b = a.copy()   b[4] = 7   print(a)   print(b)   print(id(a))   print(id(b))   # 输出:   [1, 2, 3, 4, 5]   [1, 2, 3, 4, 7]   63119808   33007416   

4.f-strings

Python 3.6 引入了一个名为 f-strings 的字符串格式化方法。

x = 10   y = 20   print(f"{x}, {y}")   # 输出:10,20   

Python 3.8 开始,f-strings 可以同时输出变量标识符名称以及值。

x = 10   y = 20   print(f"{x = }, {y = }")   # 输出:   x = 10, y = 20   

5.更改元组

我们已经知道元组是不可变的数据结构。尝试更改元组的状态将引发类型错误。但是,如下示例,元组的前两个元素是整数,它们是不可变的。元组的最后一个元素是一个列表,是一个可变对象。

a = (1, 2, [1, 2, 3])   a[2].append(4)   print(a)   # 输出:   (1, 2, [1, 2, 3, 4])   

6.下划线

下划线 “_” 是 Python 中的合法标识符,可以使用它来引用对象。但下划线还有另一个功能:存储上次运行的结果。

以下示例,在第一行输出 “” 之前没有任何运行结果,因此我们得到了一个错误。当我们计算 1 + 2 的输出后,交互式解释器会将结果存储在 “” 中。

>>> print(_)   Traceback (most recent call last):     File "<pyshell>", line 1, in <module>   NameError: name '_' is not defined   >>> 1+2   3   >>> print(_)   3   

我们也可以使用 “_” 来表示我们不关心或稍后在程序中不会使用的对象。

for _ in range(10):       print("Hello World!")   # 输出:   Hello World!   Hello World!   Hello World!   Hello World!   Hello World!   Hello World!   Hello World!   Hello World!   Hello World!   Hello World!   

“_” 另一种用法是避免与Python关键字冲突。

global_ = 123   
---------------------------END---------------------------

题外话

在这里插入图片描述

感兴趣的小伙伴,赠送全套Python学习资料,包含面试题、简历资料等具体看下方。

👉CSDN大礼包🎁:全网最全《Python学习资料》免费赠送🆓!(安全链接,放心点击)

一、Python所有方向的学习路线

Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照下面的知识点去找对应的学习资源,保证自己学得较为全面。

img
img

二、Python必备开发工具

工具都帮大家整理好了,安装就可直接上手!img

三、最新Python学习笔记

当我学到一定基础,有自己的理解能力的时候,会去阅读一些前辈整理的书籍或者手写的笔记资料,这些笔记详细记载了他们对一些技术点的理解,这些理解是比较独到,可以学到不一样的思路。

img

四、Python视频合集

观看全面零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。

img

五、实战案例

纸上得来终觉浅,要学会跟着视频一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

img

六、面试宝典

在这里插入图片描述

在这里插入图片描述

简历模板在这里插入图片描述

👉CSDN大礼包🎁:全网最全《Python学习资料》免费赠送🆓!(安全链接,放心点击)

若有侵权,请联系删除

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/982908.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

stc单片机外部中断+EC11编码器实现计数功能

stc单片机外部中断+EC11编码器实现计数功能 🎬 串口输出测试效果: 📑EC11编码器原理图: 🍁EC11编码器输出信号说明: 📗检测说明: 📑以EC11-A信号作为一个时钟基准信号,检测到EC11-A之后,再去判断B的动作,一个相对的电平。当检测到A信号下降沿触发后,检测…

无涯教程-JavaScript - BITXOR函数

描述 BITXOR函数返回两个数字的按位" XOR"。 语法 BITXOR (number1, number2)争论 Argument描述Required/Optionalnumber1Must be greater than or equal to 0.Requirednumber2Must be greater than or equal to 0.Required Notes BITXOR返回一个十进制数字,该数…

Chrome 108版(64-bit 108.0.5359.125)网盘下载

还在用Selenium的朋友们注意了&#xff0c;目前Chrome的最新版是116&#xff0c;而官方的Chromedriver只支持到115版。 可惜Google不提供旧版Chrome的下载方式&#xff0c;需要旧版的很难回去了。如果真的想要旧版的Chrome&#xff0c;只能民间自救。 我在2022年12月备份了C盘…

Android 播放mp3文件

1&#xff0c;在res/raw中加入mp3文件 2&#xff0c;实现播放类 import android.content.Context; import android.media.AudioManager; import android.media.SoundPool; import android.util.Log;import java.util.HashMap; import java.util.Map;public class UtilSound {pu…

NIFI关于Variables的使用

说明 NIFI中的变量&#xff08;variables&#xff09;和参数&#xff08;parameters&#xff09;在引用的时候是有区别的。 参数的引用是使用#{参数名}的形式。 变量是使用${变量名}的形式来引用。 nifi版本&#xff1a;1.23.2&#xff08;docker镜像&#xff09; Variable…

【ViT(Vision Transformer)】(一) 中英双语

ViT&#xff08;Vision Transformer&#xff09; ABSTRACT1 INTRODUCTION2 RELATED WORK4 EXPERIMENTS4.1 SETUP4.2 COMPARISON TO STATE OF THE ART4.3 PRE-TRAINING DATA REQUIREMENTS 5 CONCLUSION4.4 SCALING STUDY4.5 INSPECTING VISION TRANSFORMER 5 CONCLUSION声明 ABS…

SCRUM敏捷产品负责人(CSPO)认证培训课程

课程简介 Scrum是目前运用最为广泛的敏捷开发方法&#xff0c;是一个轻量级的项目管理和产品研发管理框架。产品负责人是Scrum的三个角色之一&#xff0c;产品负责人在Scrum产品开发当中扮演舵手的角色&#xff0c;他决定产品的愿景、路线图以及投资回报&#xff0c;他需要回答…

正中优配:股市营业时间?

股市经营时间是指股票买卖商场的开放时间&#xff0c;每个国家、区域的股市经营时间都不同。股市经营时间确实定是由国家和商场交通情况、买卖商的需求等多种要素归纳考虑而得出的。本文将从股市经营时间的重要性、不同国家和区域的股市经营时间、股市经营时间影响股民的出资心…

运维事故减少80%,工单和值守服务上大分

“相比较系统上线之前&#xff0c;事故降低了80%&#xff0c;我们运维工程师时间节约40%&#xff01; ”福建某企业信息部沈工说。 “监控系统如果没有工单服务台&#xff0c;发现问题&#xff0c;没有解决问题方案&#xff0c;也没闭环的服务流程&#xff0c;那事实上没有起到…

深信服应用交付报表系统任意文件读取漏洞复现

文章目录 深信服应用交付报表系统任意文件读取漏洞复现0x01 前言0x02 漏洞描述0x03 影响范围0x04 漏洞环境0x05 漏洞复现1.访问漏洞环境2.构造POC3.复现 0x06 修复建议 深信服应用交付报表系统任意文件读取漏洞复现 0x01 前言 本次测试仅供学习使用&#xff0c;如若非法他用&…

说说BTree和B+Tree

分析&回答 B树索引是B树在数据库中的一种实现&#xff0c;是最常见也是数据库中使用最为频繁的一种索引。B树中的B代表平衡&#xff08;balance&#xff09;&#xff0c;而不是二叉&#xff08;binary&#xff09;&#xff0c;因为B树是从最早的平衡二叉树演化而来的。 接…

第二证券:股吧沸腾!AI算力新龙头来了?

9月6日晚间&#xff0c;中贝通讯披露公告&#xff0c;公司与青海联通签定算力服务结构协议&#xff0c;青海联通拟向中贝通讯批量收买AI算力服务&#xff0c;服务费总金额为3.46亿元&#xff08;含税&#xff09;。 到9月6日&#xff0c;中贝通讯报27.58元/股&#xff0c;最新…

正中优配:国内怎么买美股?

近年来&#xff0c;随着我国经济的发展和对全球金融市场的越来越深入的了解&#xff0c;越来越多的投资者开始重视美国股市。而想要在国内购买美国股票并不是一件简单的事情&#xff0c;本文将从多个视点进行剖析。 一、注册海外买卖账户 在国内购买美股的条件是需求注册海外买…

Spring boot环境搭建

使用IDE工具&#xff1a;IntelliJ IDEA 目录 一、安装JAVA 二、安装maven&#xff08;Java项目管理工具&#xff09; 三、安装IDE 四、在IDE中配置spring boot项目环境 1、配置jdk 2、配置maven 3、安装创建spring boot项目插件&#xff1a;Spring Assistant 4、安装简…

使用Smartctl脚本输入当前所有磁盘的状态

一、安装Smartctl yum install smartmontools 二、写一个脚本输出当前所有磁盘的状态并且按名称分别写入到文件中 #!/bin/bashfor dev in $(lsblk -l | grep disk | awk {print $1}) doecho "检测磁盘 $dev"smartctl -a /dev/$dev > $dev.smartctl done 以下是这…

基于SpringBoot+thymeleaf的物资管理系统

✌全网粉丝20W,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取项目下载方式&#x1f345; 一、项目背景介绍&#xff1a; 这是一个物资管理系统…

【校招VIP】产品群面角色之闪光者

考点介绍&#xff1a; 闪光者在群面中要注意&#xff0c;在别人表述的时候需要找关键点&#xff0c;听到与之契合的要点时&#xff0c;审时度势的插入战局给予贡献性意见。 产品群面角色之闪光者-相关题目及解析内容可点击文章末尾链接查看&#xff01;一、考点题目 1. 一个产…

typeScript学习笔记(一)

学习资源来自&#xff1a; 类与接口 TypeScript 入门教程 (xcatliu.com) 一.TypeScript的安装和运行 1.安装TypeScript 通过npm&#xff08;Node.js包管理器&#xff09;安装Visual Studio的TypeScript插件:(Visual Studio 2017和Visual Studio 2015 Update 3默认包含了Ty…

长胜证券:资本市场的含义是什么?

本钱商场是指企业和政府通过证券生意来筹集资金并进行出资活动的商场。本钱商场通常被分为两个部分&#xff1a;初级商场和二级商场。初级商场是新证券发行的商场&#xff0c;而二级商场则是已发行证券的生意商场。本钱商场的展开程度是一个国家经济展开的重要目标之一。 从宏…

智能时代的蜕变:人工智能发展历程

原创 | 文 BFT机器人 前沿 2022年底&#xff0c;一款名为ChatGPT的人工智能聊天应用引起了巨大轰动&#xff0c;迅速火遍互联网。与传统的聊天机器人不同&#xff0c;ChatGPT更像是一位能够理解人类的虚拟智能助手&#xff0c;它具备智能推断和学习的能力&#xff0c;能够与用…