运算符 | 描述 | 示例 |
---|---|---|
= | 赋值 | c = a+b |
-= | 减法赋值 | c -= a -> c = c - a |
+= | 加法赋值<font color=red>(非数学的加法释义,也叫加等于赋值) </font> | c += a -> c = c + a |
*= | 乘法赋值 | c = a -> c = c a |
/= | 除法赋值 | c /= a ->c=c / a |
%= | 取模赋值 | c %= a -> c= c % a |
**= | 乘方赋值 | c **= a ->c ** a |
//= | 整除运算 | c //= a -> c // a |
这里举个简单的例子:
n1 = 100
f1 = 25.5
n1 -= 80 #等价于 n1=n1-80
f1 *= n1 - 10 #等价于 f1=f1*( n1 - 10 )
print("n1=%d" % n1)
print("f1=%.2f" % f1)
# >>> 运行结果如下:
# >>> n1=20
# >>> f1=255.00
通常情况下,只要能使用扩展后的赋值运算符,都推荐使用这种赋值运算符。
但是请注意,这种赋值运算符只能针对已经存在的变量赋值,因为赋值过程中需要变量本身参与运算,如果变量没有提前定义,它的值就是未知的,无法参与运算。例如,下面的写法就是错误的:
n += 10
该表达式等价于 n = n + 10,n 没有提前定义,所以它不能参与加法运算。
a = 1
b = 1.0
c = "字符串"
d = [1, 2, 3, 4]
e = (1, 2, 3, 4)
f = {1, 2, 3, 4}
g = {1: 1, 2: 2}
python 的特性,可以一行代码,同时给多个变量赋值
# 多变量
a, b = 1, 2
print(a, b)
a, b, c, d = 1, 2.0, True, "字符串"
print(a, b, c, d)
e, f, g, h = [1, 2, 3, 4], (1, 2, 3, 4), {1, 2, 3, 4}, {1: 1, 2: 2}
print(e, f, g, h)
# 输出结果
1 2
1 2.0 True 字符串
[1, 2, 3, 4] (1, 2, 3, 4) {1, 2, 3, 4} {1: 1, 2: 2}
这是 Python 元组的特性,单个变量使用 = 时,元组在右边的时候可以不用加 ( ),也称为元组打包
# 单个变量
a = 1, True, "字符串"
print(a, type(a))
# 输出结果
(1, True, '字符串') <class 'tuple'>
a, b, c = (1, 2, 3)
print(a, b, c)
a, b, c = [1, 2, 3]
print(a, b, c)
a, b, c = {1, 2, 3}
print(a, b, c)
# 输出结果
1 2 3
1 2 3
1 2 3
多重赋值其实就是元组打包和序列解包的组合
比较运算符 | 说明 |
---|---|
大于,如果 | |
< | 小于,如果 |
== | 等于,如果 |
| 大于等于(等价于数学中的 ≥),如果 |
<= | 小于等于(等价于数学中的 ≤),如果 |
!= | 不等于(等价于数学中的 ≠),如果 |
==<>== | ==不等于(Python3中已经弃用,Python2中生效)== |
is | 判断两个变量所引用的对象是否相同,如果相同则返回 True,否则返回 False。 |
is not | 判断两个变量所引用的对象是否不相同,如果不相同则返回 True,否则返回 False。 |
Python 比较运算符的使用举例:
print("89是否大于100:", 89 > 100)
print("24*5是否大于等于76:", 24*5 >= 76)
print("86.5是否等于86.5:", 86.5 == 86.5)
print("34是否不等于35.0:", 34 != 35.0)
print("False是否不等于True:", False < True)
print("True是否等于True:", True == True)
运行结果:
89是否大于100: False
24*5是否大于等于76: True
86.5是否等于86.5: True
34是否等于35.0: True
False是否小于True: True
True是否等于True: True
初学 Python,大家可能对 is 比较陌生,很多人会误将它和 == 的功能混为一谈,但其实 is 与 == 有本质上的区别,完全不是一码事儿。
== 用来比较两个变量的值是否相等,而 is 则用来比对两个变量引用的是否是同一个对象,例如:
import time #引入time模块
t1 = time.gmtime() # gmtime()用来获取当前时间
t2 = time.gmtime()
print(t1 == t2) #输出True
print(t1 is t2) #输出False
运行结果:
# True
# False
time 模块的 gmtime() 方法用来获取当前的系统时间,精确到秒级,因为程序运行非常快,所以 t1 和 t1 得到的时间是一样的。== 用来判断 t1 和 t2 的值是否相等,所以返回 True。
虽然 t1 和 t2 的值相等,但它们是两个不同的对象(每次调用 gmtime() 都返回不同的对象),所以t1 is t2
返回 False。这就好像两个双胞胎姐妹,虽然她们的外貌是一样的,但它们是两个人。
那么,如何判断两个对象是否相同呢?答案是判断两个对象的内存地址。如果内存地址相同,说明两个对象使用的是同一块内存,当然就是同一个对象了;这就像两个名字使用了同一个身体,当然就是同一个人了。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。