1.变量声明
#注意:这是变量引用表达式,不是变量声明未初始化。
变量名
#声明时必须同时初始化
变量名 = 值
变量在赋值后可以通过重新赋值更改其值。
注意:新的值的类型不一定与老的值的类型相同。
#声明变量a并初始化
a = 1
#注意:这是重新赋值,不是重新声明。
a = "张三"
2.变量作用域
2.1全局变量
名称 | 修饰符 |
全局变量 | —————— |
2.2成员变量
名称 | 修饰符 |
类变量 | —————— |
实例变量 | self. |
2.3局部变量
名称 | 修饰符 |
局部变量 | —————— |
3.变量引用表达式
变量名
4.并行赋值
并行赋值用于在一条语句中实现给多个变量(或常量)同时赋值。
并行赋值是按位置赋值。
#左侧数量等于右侧数量
(a, b) = (1, 2)
print(a, b) # 1 2
#简写(省略两侧的圆括号)
a, b = 1, 2
print(a, b) # 1 2
#左侧数量小于右侧数量
#右侧所有的值会被打包成元组
a = 1, 2, 3
print(a) # (1, 2, 3)
#不支持此语法
a, b = 1, 2, 3
print(a, b) # 报错
#右侧多余的值会被打包成列表
a, b, *c = 1, 2, 3, 4, 5
print(a, b, c) # 1 2 [3, 4, 5]
#左侧数量大于右侧数量
#不支持此语法
a, b, c = 1, 2
print(a, b, c) # 报错
实际上,赋值表达式左侧的变量名可以是任何可赋值的标识符,比如列表的元素访问表达式。
li = [1, 2]
li[0], li[1] = 3, 4
print(li) # [3, 4]
实际上,赋值表达式右侧可以是任何序列,右侧的序列会被“解包”。
a, b = "12"
print(a, b) # 1 2
a, b = [1, 2]
print(a, b) # 1 2
a, b = range(1, 3)
print(a, b) # 1 2
赋值表达式右侧的值还可以是函数定义。
def f():
return 2
a, b = 1, f
print(a, b()) # 1 2
原创文章,作者:huoxiaoqiang,如若转载,请注明出处:https://www.huoxiaoqiang.com/python/pythonlang/35540.html