运算符
举个简单的例子:
1 + 2 = 3
例子中,1 和 2 被称为操作数,+ 称为运算符。
Python 语言支持以下类型的运算符:
算术运算符
比较运算符
赋值运算符
逻辑运算符
成员运算符
身份运算符
条件运算符
运算符优先级
算术运算符
以下假设变量a为10,变量b为21:
比较运算符
以下假设变量a为10,变量b为20:
赋值运算符
以下假设变量a为10,变量b为20:
逻辑运算符
以下假设变量 a 为 10, b为 20:
⾮布尔值的与或运算
- 对⾮布尔值进⾏与或运算时,Python会将其当做布尔值运算,最终会返回原值
- None,0和空值返回Flase,其它的都是返回True
- ⾮布尔值与运算的规则
与运算是找False的,如果第⼀个值是False,则不看第⼆个值。如果第⼀个值是False,则直接返回第⼀个值,否则返回第⼆个值 - ⾮布尔值或运算的规则
或运算是找True的,如果第⼀个值是True,则不看第⼆个值。如果第⼀个值是True,则直接返回第⼀个值,否则返回第⼆个值
a = 10
b = 20
if ( a and b ):
print ("1 - 变量 a 和 b 都为 true")
else:
print ("1 - 变量 a 和 b 有一个不为 true")
if ( a or b ):
print ("2 - 变量 a 和 b 都为 true,或其中一个变量为 true")
else:
print ("2 - 变量 a 和 b 都不为 true")
# 修改变量 a 的值
a = 0
if ( a and b ):
print ("3 - 变量 a 和 b 都为 true")
else:
print ("3 - 变量 a 和 b 有一个不为 true")
if ( a or b ):
print ("4 - 变量 a 和 b 都为 true,或其中一个变量为 true")
else:
print ("4 - 变量 a 和 b 都不为 true")
if not( a and b ):
print ("5 - 变量 a 和 b 都为 false,或其中一个变量为 false")
else:
print ("5 - 变量 a 和 b 都为 true")
1 - 变量 a 和 b 都为 true
2 - 变量 a 和 b 都为 true,或其中一个变量为 true
3 - 变量 a 和 b 有一个不为 true
4 - 变量 a 和 b 都为 true,或其中一个变量为 true
5 - 变量 a 和 b 都为 false,或其中一个变量为 false
成员运算符
a = 10
b = 20
list = [1, 2, 3, 4, 5 ]
if ( a in list ):
print ("1 - 变量 a 在给定的列表中 list 中")
else:
print ("1 - 变量 a 不在给定的列表中 list 中")
if ( b not in list ):
print ("2 - 变量 b 不在给定的列表中 list 中")
else:
print ("2 - 变量 b 在给定的列表中 list 中")
# 修改变量 a 的值
a = 2
if ( a in list ):
print ("3 - 变量 a 在给定的列表中 list 中")
else:
print ("3 - 变量 a 不在给定的列表中 list 中")
以上实例输出结果:
1 - 变量 a 不在给定的列表中 list 中
2 - 变量 b 不在给定的列表中 list 中
3 - 变量 a 在给定的列表中 list 中
身份运算符
is 与 == 区别:
is 用于判断两个变量引用对象是否为同一个, == 用于判断引用变量的值是否相等。
>>>a = [1, 2, 3]
>>> b = a
>>> b is a
True
>>> b == a
True
>>> b = a[:]
>>> b is a
False
>>> b == a
True
条件运算符(三元运算符)
语法: 语句1 if 条件表达式 else 语句2
- 执行流程:
条件运算符在执行时,会先对条件表达式进行求值判断
如果判断结果为True,则执行语句1,并返回执行结果
如果判断结果为False,则执行语句2,并返回执行结果
运算符优先级
and 拥有更高优先级:
x = True
y = False
z = False
if x or y and z:
print("yes")
else:
print("no")
以上实例输出结果:
yes
作业
#以4种格式化字符串的方式来实现 521 xxx 嫁给我好吗?
name = '美女'
#方法1:
print('521 %s 嫁给我好吗?'%name)
#方法2:
print('521 '+name+' 嫁给我好吗?')
#方法3:
print(f'521 {name} 嫁给我好吗?')
#方法4:
print('521 {} 嫁给我好吗?'.format('美女'))
#现有a b c三个变量,三个变量中分别保存有三个数值,请通过条件运算符获取三个值中的最大值
a = 1
b = 2
c = 3
max=a if a>b and a>c else b if b>c else c
print('最大值为'max)