【一】参考网站
【二】算数运算符
- python支持的算数运算符与数学的运算符号是一样的
# 【1】加法运算符
a = 3
b = 4
c = a + b
print(c) # 输出 7
# 【2】减法运算符
a = 3
b = 4
c = a - b
print(c) # 输出 -1
# 【3】乘法运算符
a = 3
b = 4
c = a * b
print(c) # 输出 12
# 【4】除法运算符
a = 3
b = 4
c = a / b
print(c) # 输出 0.75
# 【5】取整除运算符
a = 3
b = 4
c = a // b
print(c) # 输出 0
# 【6】求余数运算符
a = 3
b = 4
c = a % b
print(c) # 输出 3
# 【7】幂运算符
a = 3
b = 4
c = a ** b
print(c) # 输出 81
【三】比较运算符
- 比较运算用来对两个值进行比较,返回值是True或False
#【1】相等运算符
a = 3
b = 4
c = a == b
print(c) # 输出:False
#【2】不等运算符
a = 3
b = 4
c = a != b
print(c) # 输出:True
#【3】大于运算符
a = 3
b = 4
c = a > b
print(c) # 输出:False
#【4】小于运算符
a = 3
b = 4
c = a < b
print(c) # 输出:True
#【5】大于等于运算符
a = 3
b = 4
c = a >= b
print(c) # 输出:False
#【6】小于等于运算符
a = 3
b = 4
c = a <= b
print(c) # 输出:True
【四】赋值运算符
- 赋值运算还有增量赋值、链式赋值、交叉赋值、解压赋值
#【1】增量赋值
a = 2
b = 3
a += b
print(a) # 输出:5
# x += y 等同于 x = x + y,相当于将变量 a 的值与 b 相加,并将结果赋值给 a
#【2】链式赋值
a = b = c = 1
print(a, b, c) # 输出:1 1 1
# a = b = c = 5 相当于同时给变量 a、b、c 赋值为 1
#【3】交叉赋值
a = 2
b = 3
a, b = b, a
print(a, b) # 输出:3 2
# a, b = b, a 表示将变量 a 的值赋给 b,同时将变量 b 的值赋给 a,把两个变量值的交换了
#【4】解压赋值
c = (2, 3)
a, b = c
print(a, b) # 输出:2 3
【五】逻辑运算符
- 逻辑运算符用于连接多个条件,进行关联判断,并返回
True
或False
。 - 常用的逻辑运算符有 and、or、not
# 【1】与运算符
# 与运算符 and 在两个条件都为 True时,返回True,如果其中一个条件为False,则返回False
a = 3
b = 6
c = (a > 0) and (b > 0)
print(c) # 输出:True
# 【2】或运算符
# 或运算符 or在两个条件中至少有一个为True时,返回True,如果两个条件都为False,则返回False
a = 3
b = 6
c = (a > 0) or (b > 0)
print(c) # 输出:True
# 【3】非运算符
#非运算符 not用于对一个条件取反,如果条件为True,则返回False,如果条件为False,则返回True。
a = 3
c = not (a > 0)
print(c) # 输出:False
# 【4】连续问题
#(1)连续多个and
# 在连续多个 and运算中,如果其中一个条件为False,则整个表达式的结果为False,即使后面的条件都为 True
a = 3
b = 5
c = 8
d = (a > 0) and (b > 0) and (c > 0)
print(d) # 输出:True
#(2)连续多个or
#在连续多个 or运算中,如果其中一个条件为True,则整个表达式的结果为True,即使后面的条件都为False
a = 3
b = 5
c = 8
d = (a > 0) or (b > 0) or (c > 0)
print(d) # 输出:True
# 【5】优先级 not>and>or
# 在逻辑运算中,优先级:not>and>or
#(1)优先级关系
print(3 > 4 and 4 > 3 or 1 == 3 and 'x' == 'x' or 3 > 3) #输出 False
#(2)区分版块
# (1) not的优先级最高,就是把紧跟其后的那个条件结果取反,所以not与紧跟其后的条件不可分割
# (2) 如果语句中全部是用and连接,或者全部用or连接,那么按照从左到右的顺序依次计算即可
# (3) 如果语句中既有and也有or,那么先用括号把and的左右两个条件给括起来,然后再进行运算
print((3 > 4 and 4 > 3) or (1 == 3 and 'x' == 'x') or 3 > 3) #输出 False
#(3)短路运算
# 逻辑运算的结果一旦可以确定,那么就以当前计算到的值作为最终结果返回
>>> 10 and 0 or '' and 0 or 'abc' or 'egon' == 'dsb' and 333 or 10 > 4
#用括号来明确优先级
>>> (10 and 0) or ('' and 0) or 'abc' or ('egon' == 'dsb' and 333) or 10 > 4
短路: 0 '' 'abc'
假 假 真
返回: 'abc'
#(4)短路运算面试题
1 or 3
1
1 and 3
3
0 and 2 and 1
0
0 and 2 or 1
1
0 and 2 or 1 or 4
1
0 or False and 1
False
【六】成员运算符
- 成员运算符用于测试序列是否包含特定的元素。可以用于字符串、列表、元组等序列类型的数据。
# 【1】in运算符
# 如果在指定的序列中找到值返回 True,否则返回 False。
number = ["one", "two", "three"]
print("one" in number) # True
print("six" in number) # False
# 【2】not in运算符
# 如果在指定的序列中没有找到值返回 True,否则返回 False。
number = ["one", "two", "three"]
print("one" not in number) # False
print("six" not in number) # True
有两种判断方式,我们常用的是第二种
print(not 'six' in ["one", "two", "three"])
# True
print('six' not in ["one", "two", "three"])
# True
【七】身份运算符
- 身份运算符用于比较对象的内存地址,就是两个对象是否指向相同的内存地址。
# 【1】is运算符
# 如果两个变量引用同一个对象,则返回 True,否则返回 False。
a = 1
b = a
c = 2
print(a is b) # True
print(a is c) # False
# 【2】is not运算符
# 如果两个变量引用的不是同一个对象,则返回 True,否则返回 False。
a = 1
b = a
c = 2
print(a is not b) # False
print(a is not c) # True
【补充】==和 is
==
双等号比较的是value是否相等is
用于比较两个对象的标识id(内存地址)是否相同- 在实际应用中,特别是对于可变对象,
==
通常更适合用于比较值,而is
更适合用于比较对象的身份。 - id相同,内存地址必定相同,意味着type和value必定相同
- value相同type肯定相同,但id可能不同
x = 'Info Tony:18'
y = 'Info Tony:18'
print(id(x), id(y)) # x与y的id不同,但是二者的值相同
# 3158064309168 3158064309168
print(x == y) # 等号比较的是value
# True
print(type(x), type(y)) # 值相同type肯定相同
# (<class 'str'>, <class 'str'>)
print(x is y) # is比较的是id,x与y的值相等但id可以不同
# True
标签:基本,输出,False,Python,运算符,print,True,赋值
From: https://www.cnblogs.com/ligo6/p/18179728