📜  Python中不同形式的赋值语句

📅  最后修改于: 2022-05-13 01:55:45.651000             🧑  作者: Mango

Python中不同形式的赋值语句

我们使用Python赋值语句将对象分配给名称。赋值语句的目标写在等号(=)的左边,右边的对象可以是计算对象的任意表达式。

Python中有一些重要的赋值属性:-

  • 赋值创建对象引用而不是复制对象。
  • Python在第一次为变量赋值时创建一个变量名。
  • 在引用之前必须指定名称。
  • 有一些隐式执行赋值的操作。

分配声明表格:-

一、基本形式:

这种形式是最常见的形式。

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.