定义多个变量
在Python中,由于变量的特性,同一个对象可以被赋予多个变量名。例如下面的代码,执行后,变量 a、b、c 都是1。
就像一个杯子上贴了不同的标签。
ini
复制代码
a = 1
b = c = a
print(a) # 输出结果 1
print(b) # 输出结果 1
print(c) # 输出结果 1
程序执行顺序为:
- 将数字 1 放入一个对象容器。
- 指定这个对象的名字为 a(变量 a = 1)。
- 让这个对象名字也有 b 和 c。
- 打印变量 a、b、c 的内容。
如果想要一次性定义多个变量的名字和内容,可以使用逗号分隔名字和内容(注意变量的数量要和赋值的数量相同)。例如,下面的代码,只用了一行就定义了 a、b、c 三个变量。
bash
复制代码
a, b, c = 1, 2, 3
print(a) # 1
print(b) # 2
print(c) # 3
定义多个变量的陷阱
如果变量的内容是列表、字典或集合,在对**「多个变量同时赋值」**时容易遇到陷阱。当多个变量同时指向一个列表、字典或集合时,只要变量内容被修改(并非使用等号赋值),不论这个变量是全局还是局部变量,另一个变量内容也会跟着变动。
例如,下面的代码中,变量 a 使用 append 方法修改列表内容,就会造成 a 和 b 的内容同时被修改。但如果 c 是使用等号再次声明赋值的,c 和 d 就会指向不同的内容。
scss
复制代码
a = []
b = a
a.append(1)
print(a) # [1]
print(b) # [1] # 受影响
c = []
d = c
c = [1]
print(c) # [1]
print(d) # [] # 不受影响
变量覆盖
在同一个作用域内,变量名是唯一的。如果重复使用变量名,实际上是将该变量名重新指向另一个对象。例如,下面的代码执行后会打印数字 2 和 1。
ini
复制代码
a = 1
b = a
a = 2
print(a) # 输出结果为 2
print(b) # 输出结果为 11
程序执行的步骤如下:
- 将数字 1 放入一个对象容器中。
- 给这个对象指定一个名字,即变量 a(即 a = 1)。
- 让变量 b 指向变量 a 所指向的对象。
- 将数字 2 放入一个对象容器中,并将这个对象的名字指定为 a(即将标签 a 从数字 1 的盒子上撕下来,贴到数字 2 的盒子上)。
- 打印变量 a 和变量 b 所指向的对象的内容。
交换变量
在其他编程语言中,如果想要交换两个变量的值,通常会用另一个变量来暂存要交换的数值。在 Python 中,可以一次性进行多个变量的交换。下面的例子会将 a、b、c 的值交换成 b、c、a。
ini
复制代码
a = 1
b = 2
c = 3
print(a, b, c) # 1, 2, 3
a, b, c = b, c, a # 交换内容
print(a, b, c) # 2, 3, 1
在变量赋值时,如果变量内容涉及运算,同样会采用交换变量的方式来处理,以当前变量的实时内容为准。下面的例子虽然看上去很相似,但由于 a 和 b 采取了交换变量的方法,所以在执行 a+b 运算时,a 的值为 1;而 c 和 d 是按照常规顺序赋值的,因此在计算 c+d 时,c 的值已经发生了变化。
ini
复制代码
a = 1
b = 2
a, b = b, a+b
print(a, b) # 2, 3
c = 1
d = 2
c = d
d = c + d
print(c, d) # 2, 4
好的变量名称
在给变量命名时,需要尽量做到见名知意:看到变量的名字,就知道是存储什么数据。因此,变量名如果取得不好,程序就会难以理解。Python 官方文档提供了以下几个变量名的建议:
- 建议使用小写英文字母,例如
score
。如果需要组合多个英文单词,可以在单词之间加上下划线,例如:english_score
。 - 如果变量的内容不需要被修改(其他编程语言称为“常量”,即内容不会改变的数),变量名建议全部用大写英文字母,例如
MAX_NUMBER
。 - 如果变量名包含专有名词,例如
HTTP
、APP
,就使用原来的大小写格式,例如HTTP_port
、APP_port
。
这里给大家分享一份Python全套学习资料,包括学习路线、软件、源码、视频、面试题等等,都是我自己学习时整理的,希望可以对正在学习或者想要学习Python的朋友有帮助!
优快云大礼包:全网最全《全套Python学习资料》免费分享🎁
😝有需要的小伙伴,可以点击下方链接免费领取或者V扫描下方二维码免费领取🆓
1️⃣零基础入门
① 学习路线
对于从来没有接触过Python的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
② 路线对应学习视频
还有很多适合0基础入门的学习视频,有了这些视频,轻轻松松上手Python~
③练习题
每节视频课后,都有对应的练习题哦,可以检验学习成果哈哈!
因篇幅有限,仅展示部分资料
2️⃣国内外Python书籍、文档
① 文档和书籍资料
3️⃣Python工具包+项目源码合集
①Python工具包
学习Python常用的开发软件都在这里了!每个都有详细的安装教程,保证你可以安装成功哦!
②Python实战案例
光学理论是没用的,要学会跟着一起敲代码,动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。100+实战案例源码等你来拿!
③Python小游戏源码
如果觉得上面的实战案例有点枯燥,可以试试自己用Python编写小游戏,让你的学习过程中增添一点趣味!
4️⃣Python面试题
我们学会了Python之后,有了技能就可以出去找工作啦!下面这些面试题是都来自阿里、腾讯、字节等一线互联网大厂,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
5️⃣Python兼职渠道
而且学会Python以后,还可以在各大兼职平台接单赚钱,各种兼职渠道+兼职注意事项+如何和客户沟通,我都整理成文档了。
上述所有资料 ⚡️ ,朋友们如果有需要 📦《全套Python学习资料》的,可以扫描下方二维码免费领取 🆓
😝有需要的小伙伴,可以点击下方链接免费领取或者V扫描下方二维码免费领取🆓