- 短路逻辑
从左往右,只有当第一个操作数的值无法确定逻辑运算的结果时,才对第二个操作数进行求值。
表达式 X and Y,需要X和Y两个变量同时为真的时候,结果才为真;如果X为False的时候,表达式就会立刻返回False,而不去管Y。
and | or |
---|---|
两边都不为 0 和 False 时,选择 and 后边的内容;两边都为假时,选择 and 前的内容;一真一假选择假 | 两边都不为 0 和 False 时,选择 or 前边的内容;两边都为假时,选择 or 后边的内容,一真一假选择真 |
操作结果 | |
---|---|
x or y | 如果 x 为假,选择 y,否则选择 x |
x and y | 如果 x 为假,选择 x,否则选择 y |
not x | 如果 x 为假,返回 True,否则返回 False |
优先级:not > and > or
eg:(not 1) or (0 and 1 ) or ( 3 and 4 ) or (5 and 6 ) or(7 and 8 and 9)
False or 0 or 4 or 6 or 9
0 or 4
4
- 运算符优先级
- 字符串比较——ASCII码的比较
(1)比较字符串是否相同:
==:用来比较两个字符串内的value值是否相同
is:比较两个字符串的id值。
(2)字符串的长度比较
len():显示字符串的长度,返回数字整型。可以进行长度的比较。
(3)使用比较运算符
<、>、> = 、< =比较的规则为:从第一个字符开始比较,排序在前边的字母为小,当一个字符串全部字符和另一个字符串的前部分字符相同时,长度长的字符串为大。
>>> str1 = 'wuning'
>>> str2 = 'liangli'
>>> print(str1 < str2)
False
>>> len(str1) <len(str2)
True
- 成员运算符
在 Python 中,成员运算符有两个:
a in b:用于判断 a 是否在 b 中
a not in b:用于判断 a 是否不在 b 中
>>> name = "love"
>>> msg = input("请输入一个字符串:")
请输入一个字符串:wuningloveliangli
>>> if name in msg:
print("在里面")
else:
print("不在里面")
在里面
>>> msg = input("请输入一个字符串:")
请输入一个字符串:woaini
>>> if name in msg:
print("在里面")
else:
print("不在里面")
不在里面