目录
1. 条件测试
if的核心是一个值为True和False的表达式,这种表达式被称为条件测试。若测试的值为True,则执行后续语句,若为False,则忽略。同for语句,加上冒号“:”。
1.1 检查是否相等/不相等
一个“=”用于赋值,而“==”则是用于检查其两侧的值是否相等,将会返回一个布尔型值,即“True”与“False”。“!=”则可用来判断两侧的值是否不相等,同理也是返回布尔值,但结果与“==”相反。
python在检查是否相等时会严格区分大小写,如若需要不区分大小写,则可以在检测前或检测时加上大写转换(.upper方法)或者小写转换(.lower方法)。
对数值类型进行比较时,除“==”和“!=”外,还可使用“<”、“<=”、“>”、“>=”进行值的大小比较。
1.2 一次检查多个语句
可用and或者or将两个条件测试相连,同时测试两个条件,但返回结果会有不同。
and:当两个测试结果都为True时,得到结果为True;当两个条件测试有一个及以上的结果为False,则输出结果为False。相当于“与”。
or:当两个测试结果都为False时,得到结果为False;当两个条件测试有一个及以上的结果为True,则输出结果为True。相当于“或”。
age_0 = 10
age_1 = 20
age_0 >=15 and age_1 >= 15
age_0 <=15 and age_1 >= 15
age_0 >=15 or age_1 >= 15
age_0 >=15 or age_1 <= 15
上述代码输出结果分别为False、True、True、False。
1.3 检查列表中是否有特定值
not in:用于检查列表中是否有指定值,如若没有,返回“True”,反之返回“False”。
banned_lists = ["xxx","sss","ddd"]
user = "aaaaa"
if user not in banned_lists:
print(user.title() + ", you can post a response if you wish.")
if语句进行了not in检测,结果为Ture,输出结果为“aaaaa, you can post a response if you wish.”
2. if语句
2.1 if - else语句
list=[1,2,3,4,5]
num=2
if num not in list:
print('no')
else:
print("yes")
若条件测试为Ture,执行第一个语句;若为False,则执行else之后语句。
2.2 if - elif -else语句
通过多次使用elif语句,可进行多个条件测试。
num = 9
if num>3:
price = 3
elif num>2:
price = 2
elif num>1:
price = 1
else:
price = 0
print("the price is " + price)
代码会依次进行条件判断,直至有一个条件判断为Ture为止,此时终止检测,跳过所有余下的条件检测,执行print语句。
2.3 省略else语句
在上述两种语句结构中,else语句并不是非写不可,可以省略,此时若所有语句判断都没有True,则不会执行任何if - elif的结果。
需要注意的是,if-elif-else结构只能判断一个条件,如若需要判定多个条件,则还是需要运行多个独立的if语句模块。
3. 使用if和for组合处理列表
3.1 检查特殊元素
req_tops=["mus","pep","cheese"]
for req_top in req_tops:
if req_top == 'pep':
print("sorry")
else:
print("add " + req_top)
在for遍历元素之时,利用if查找特殊元素。
3.2 检查列表是否为空
在if语句中将列表名用在条件表达式中时,python将在列表至少包含一个元素时返回True,并在列表为空时返回False。
req_tops=[]
if req_tops:
for req_top in req_tops:
print("add " + req_top)
else:
print("are you sure?")
在执行for语句前会利用if检查列表是否为空,确认为True时才会继续执行for语句。
3.3 可同时使用多个列表
a_ts=["xxx","dddd","ffff","wwwww","qqqq"]
b_ts=["xxx","dddd","fffff"]
for b_t in b_ts:
if b_t in a_ts:
print("ok")
else:
print("no")
使用一个中间变量,可进行两个列表之间元素的判定。
4. 格式
python中,在<、>、==等比较运算符两边个添加一个空格,可使代码阅读更加容易。