Python 中不同形式的赋值语句
我们使用 Python 赋值语句将对象赋给名称。赋值语句的目标写在等号(=)的左边,右边的对象可以是计算对象的任意表达式。
Python 中赋值有一些重要的属性:-
- 赋值创建对象引用,而不是复制对象。
- 当第一次给变量赋值时,Python 会创建一个变量名。
- 引用名称之前必须先分配名称。
- 有些操作会隐式执行赋值。
分配报表:-
1。基本形式:
这种形式是最常见的形式。
student = 'Geeks'
print(student)
输出
Geeks
2。元组分配:
# equivalent to: (x, y) = (50, 100)
x, y = 50, 100
print('x = ', x)
print('y = ', y)
输出
x = 50
y = 100
当我们在=的左侧编码元组时,Python 通过位置将右侧的对象与左侧的目标配对,并从左到右分配它们。因此,x 和 y 的值分别是 50 和 100。
3。列表分配:
这与元组赋值的工作方式相同。
[x, y] = [2, 4]
print('x = ', x)
print('y = ', y)
输出
x = 2
y = 4
4。序列分配:
在 Python 的最新版本中,元组和列表赋值已经被推广到我们现在称之为序列赋值的实例中——任何名称序列都可以被赋值给任何值序列,Python 通过位置一次赋值一个项目。
a, b, c = 'HEY'
print('a = ', a)
print('b = ', b)
print('c = ', c)
输出
a = H
b = E
c = Y
5。扩展序列拆包:
它允许我们更灵活地选择要分配的序列部分。
p, *q = 'Hello'
print('p = ', p)
print('q = ', q)
这里,p 与右边字符串中的第一个字符匹配,q 与其余字符匹配。给带星号的名称(*q)分配一个列表,该列表收集序列中未分配给其他名称的所有项目。
输出
p = H
q = ['e', 'l', 'l', 'o']
这对于常见的编码模式来说尤其方便,例如拆分一个序列并访问它的前部和其余部分。
ranks = ['A', 'B', 'C', 'D']
first, *rest = ranks
print("Winner: ", first)
print("Runner ups: ", ', '.join(rest))
输出
Winner: A
Runner ups: B, C, D
6。多目标分配:
x = y = 75
print(x, y)
在这种形式中,Python 将对同一对象(最右边的对象)的引用分配给左边的所有目标。
输出
75 75
7。增强分配:
增广赋值是一种将表达式和赋值相结合的速记赋值。
x = 2
# equivalent to: x = x + 1
x += 1
print(x)
输出
3
还有其他几种扩充赋值形式:
-=, **=, &=, etc.
版权属于:月萌API www.moonapi.com,转载请注明出处