python,神一般的赋值

一、同时(并行)给多个变量赋值:(序列解包或可迭代对象解包)

      >>> x, y, z = 1, 2, 3
      >>> print(x, y, z)
      1 2 3

可用于交换多个变量的值

      >>> x, y = y, x
      >>> print(x, y, z)
      2 1 3

序列解包,并将得到的值存储到一系列变量中:
      >>> values = 1, 2, 3
      >>> values
      (1, 2, 3)
      >>> x, y, z = values
      >>> x
      1

可使用星号运算符(*)来收集多余的值,这样无需确保值和变量的个数相同,如下例所示:
      >>> a, b, *rest = [1, 2, 3, 4]
      >>> rest
      [3, 4]

还可将带星号的变量放在其他位置。
      >>> name = "Albus Percival Wulfric Brian Dumbledore"
      >>> first, *middle, last = name.split()
      >>> middle
      ['Percival', 'Wulfric', 'Brian']

 

赋值语句的右边可以是任何类型的序列,但带星号的变量最终包含的总是一个列表。在变量
和值的个数相同时亦如此。
      >>> a, *b, c = "abc"
      >>> a, b, c
     ('a', ['b'], 'c')

 

二、链式赋值

      x = y = somefunction()
上述代码与下面的代码等价:
      y = somefunction()
      x = y
请注意,这两条语句可能与下面的语句不等价:
      x = somefunction()
      y = somefunction()

 

三、增强赋值(好不容易有一点c++和java的影子,哎)

      x += 1

等价于

      x = x + 1

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值