=
在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