一、in 与 not in
python 中,in 与 not in 是用来作为逻辑判断的另一种方式。(与linux 的grep 命令有一定类似)
文字解释可以理解成这样。
in 右侧的内容里,是否包含了左侧的内容。 包含返回真,不包含返回假。
not in 右侧的内容里是否不包含左侧的内容。不包含返回真,包含返回假。
in 与 not in 可以放在任何允许添加条件判断的位置。如while 、 if 等。
格式
if str1 in str2:
do xxx
else
do xxx
示例:
代码语言:javascript复制#定义变量num值为字符串123
num = "123"
#定义变量num2为int 值 1
num2 = 1
#while 循环条件为,如果变量num 包含字符串2,则循环进行,并打印hehe
while "2" in num:
print("hehe")
#每次循环,num2都会自增加1
num2 = 1
#当num 值等于2 时,停止本次while 循环(break 为中断本次循环)
if num2 == 3:
break
#最后打印over值
print("over")
#解释:
运行结果
二、运算符
> 大于
< 小于
>= 大于等于
<= 小于等于
!= 不等于 (也可以写作 <>)
== 等于 (1个 = 为赋值变量)
not 对结果取反 (not in not True 等)
and :
一般为 1 >2 and 2<1 翻译为1大于2并且 2小于1。 只有and 两侧的结果都是真,才返回真,有任何一个结果是False 都会返回假。
or :
一般为 1 >2 or 2 > 1 翻译为 1 大于2 或者 2 大于1 。 or 两侧的结果,有任何一个是真,返回结果就是真。只有全部为 False 才会返回False。
注:如果一行代码,有多个and 和 or 可以通过 () 小括号,判断优先级。
如: 1<2 or 1 >3 and 1< 3 or 2 >1 这种就很难看出对应关系,就可以写成
(1<2 or 1 >3 and 1< 3 )or 2 >1 翻译为: 1小于2 或者 1 大于3并且1小于3 。(结果都不成立)亦或者 2大于 1。 最终返回真。
运行结果
(1<2 or 1 >3 )and (1< 3 or 2 >1 ) 翻译为:1小于2 或者 1大于3(因为1小于2所以返回真) 并且 1小于3 或者 2大于1(返回真) 。最终为真
运行结果
由于小括号限制了优先级,所以不同的优先级,返回结果可能是不一样的。
总结:
结果是值
a = 10 * 10
赋值运算
a = a 2 a = 2
结果是布尔值
比较运算
a = 1 > 5
逻辑运算
a = 1 > 6 or 1 == 1
成员运算
a = "1" in "123"