运算符是一种特殊的符号,通过运算符对相应的数据类型的运算数进行运算
例如:加法运算符 + 可用于将两个整数类型的运算数进行相加的运算,比如:3+5
布尔运算符 and 可用于将两个布尔类型的运算数进行逻辑 与 的运算,比如: True and False
1.标准算术运算符
2.取余运算符
3.幂运算符
4.布尔运算符
5.比较运算符
6.赋值运算符
print(3 + 5)
print(8 - 2)
print(5 * 6)
print(2.8 / 4) #加 减 乘 除
8
6
30
0.7
整数除运算符 //
当使用整数除运算符 // 对两个数值进行运算时,运算结果只保留整数部分。
整数除运算符 // 用于计算一个数值是另一个数值的多少倍
print(9 // 4) # 2
print(5.0 // 2.4) #2.0
2
2.0
# 9 = (-4) * (-3) + (-3) (-3)要在除数 -4 到 0 之间
print(9 // -4)
-3
# -9 = (4) * (-3) + (3) (3)要在除数 0 到 4 之间
print(-9 // 4)
-3
# -9 = (-4) * (2) + (-1) (-1)要在除数 -4 到 0 之间
print(-9 // -4)
2
取余运算符用 % 表示
a % b = a - b * 倍数 = a - b * (a // b) = 余数
print( 9 % 4)
print(1.25 % 0.5)
1
0.25
# 9 = (-4) * (-3) + (-3) (-3)要在除数 -4 到 0 之间
print(9 % -4)
# -9 = (4) * (-3) + (3) (3)要在除数 0 到 4 之间
print(-9 % 4)
# -9 = (-4) * (2) + (-1) (-1)要在除数 -4 到 0 之间
print(-9 % -4)
-3
3
-1
幂运算符用两个 ** 表示
内置函数pow也可以是实现幂运算
print(3 ** 2)
print((-3) ** 2)
print(pow(3,2))
print(pow(-3,2))
9
9
9
9
布尔运算符用于对布尔值进行运算,运算结果仍然是一个布尔值
布尔运算符有三个:
and:当两个运算数都为 True 时,运算结果才为 True
or:只要有一个运算数为 True,运算结果就为 True
not:用于对运算数取反,如果运算数为True,运算结果为False
print(True and True)
print(True and False)
print(False and True)
print(False and False)
True
False
False
False
print(True or True)
print(True or False)
print(False or True)
print(False or False)
True
True
True
False
print(not True)
print(not False)
False
True
赋值运算符以及什么是变量
赋值运算符用 = 表示, = 的左边是变量, = 的右边是对象
在Python中,一切皆为对象
变量相当于标签,对于赋值语句:变量 = 对象,相当于给对象贴上了一个标签,标签名就是变量名
例如:
对于赋值语句 i = 18,
Python会分配一块内存空间用于存储整数对象18,然后相当于给整数对象18贴上名为 i 的标签,以后可以通过名为 i 的标签访问整数对象18了。
接下来执行赋值语句 i = 23,
Python会再分配一块内存空间用于存储整数对象23,
然后相当于把名为 i 的标签从整数对象18上撕下来并贴在整数对象23上,
这样,我们就无法再通过名为 i 的标签访问整数对象 18 了。
接下来执行赋值语句j = i,
相当于在整数对象23上又贴上了一个名为j的标签,
这样,我们既可以通过名为i的标签访问整数对象23,又可以通过名为j的标签访问整数对象23.
在某一时刻,一个标签只能贴在一个对象上,一个对象上可以贴多个标签。
变量是没有数据类型的,只有对象才有数据类型。
通常情况下,一个变量只引用一种数据类型的对象。
a = 18
print(a) #18
18
# 变量a引用了另外一种数据类型的对象(但不推荐)
a = 'Hello'
print(a) # Hello
Hello
赋值运算符支持链式赋值
如果想让多个变量同时引用同一对象,可以使用链式赋值
a = b = c = 18
print(a)
print(b)
print(c)
18
18
18
赋值运算符支持参数赋值
可以在赋值运算符的做左边添加其它运算符,从而实现参数赋值,例如:+= -= *= /= %=
a += b 相当于:a = a+b
参数赋值可以使代码更加简洁,而且可读性更强
a = 3
a += 5
print(a)
8
比较运算符用于比较两个运算符,比较结果使一个布尔值
比较运算符包括如下几个:
1.<
2.<= == 用于比较两个运算数是否相等,也就是说,用于“相等性”测试
3.>
4.>=
5.
6.!=
7.is is用于比较两个运算数是否是同一个对象,也就是说,is用于“同一性”测试
8.is not
print(6 < 8)
print(6 <= 8)
print(8 > 6)
print(8 >= 6)
print(8 == 8.0)
print(8 != 8.0)
True
True
True
True
True
False
a = b = [1,2,3] #列表,之后会学
c = [1,2,3]
print(a == b)
print(a == c)
print(a is b)
print(a is c)
True
True
True
False
不可变类型对象的is比较
对于不可变类型的对象,其内存可能被重用,比如数值较小的整数对象。
可以调用内置函数id进行验证,内置函数id用于返回对象的唯一标识(对象在内存中的地址)。
a = 18
b = 18
print(id(a))
print(id(b))
print(a is b)
140725856694560
140725856694560
True
比较运算符可用于链式比较
age = 18
print(0 < age < 100)
# 以上语句相当于:print(0 < age and age <100)
True
print(1 == 2 < 3)
# 以上语句相当于:print(1 == 2 and 2 < 3)
False