=在python中不是指等于,而是传说中的赋值符号,是把符号右侧的值赋给符号左侧的变量。
如下所示,通过赋值符号=,将赋值符号右侧的值赋给符号左侧的变量。翠花,上例子:
>>> a = 666
>>> a
666
>>> a = "zhuanfou"
>>> a
'zhuanfou'
>>> a = { "zhuan": "fou" }
>>> a
{'zhuan': 'fou'}
>>> a = 666 + 1
>>> a
667
>>> a = 999 == 666
>>> a
False
>>> a = not False
>>> a
True
上述例子中的“999 == 666”返回的值是False,然后赋值符号将False这个布尔型的值赋给了变量a,因此变量a的取值为False。
如下所示,a = a + 1,指的是将当前变量a的值加1以后得到的和,再赋值给变量a。(请理解核心要点:=不是等于,而是赋值,赋值是核心,将右侧的值赋给左侧的变量。)
>>> a = 0 >>> a = a + 1 >>> a 1 >>> a = a + 1 >>> a 2 >>> a = a * 2 >>> a 4
a += 1是a = a + 1的缩写,加1还是加2不是重点,不必拘泥。这种写法的好处是少写几个字母,看起来累加的逻辑更加清晰;也许一开始不习惯这种写法,但形成习惯后就会发现这类缩写更加舒服自然。习惯成潮流,这已经是公认推荐的写法了。
常用的类似缩写,如下所示:
| 缩写 | 原始写法 | 
|---|---|
| a += 1 | a = a + 1 | 
| a -= 1 | a = a - 1 | 
| a *= 2 | a = a * 2 | 
| a /= 2 | a = a / 2 | 
| a %= 2 | a = a % 2 | 
| a **= 3 | a = a ** 3 | 
示例如下:
>>> a = 0 >>> a += 1 >>> a 1 >>> a += 1 >>> a 2 >>> a *= 2 >>> a 4 >>> a **= 2 >>> a 16 >>> a /= 2 >>> a 8 >>> a %= 3 >>> a 2
如果有一定编程基础,推荐提前了解一下python的三元运算符,点击这里。
Python赋值语句的高阶技巧:在同一行同时为多个变量进行赋值。这种方式请不用滥用,一般来说进行同时赋值的几个变量之间是存在某种关系的;同时赋值的初衷也是为了更优雅地写代码。示例如下:
x1, y1 = 7.2, 12.0 x2, y2 = 10.0, 19.9 x3, y3 = 98.6, 1.2
并列赋值语句还有一个很好的妙处,就是让2个变量交换取值这件事变得极其优雅;如下所示两种方式对比一下即可。相对方式一,更加推荐方式二,这就是并列赋值迪奥炸天的地方。
方式一:不使用并列赋值的方式,则需要借助第三个变量:
a = "zhuanfou" b = 666 c = a a = b b = c print a print b
方式二:使用并列赋值的方式进行交换:
a = "zhuanfou" b = 666 a, b = b, a print a print b