龙空技术网

测开不得不会的python条件判断语句if

科雷软件测试 309

前言:

眼前各位老铁们对“c语言if语句多个条件怎么用”大概比较关切,看官们都想要了解一些“c语言if语句多个条件怎么用”的相关资讯。那么小编在网摘上搜集了一些关于“c语言if语句多个条件怎么用””的相关资讯,希望咱们能喜欢,各位老铁们一起来学习一下吧!

学习目录

1. 条件语句结构

2. 布尔值的判断

3. not 表达式表示相反逻辑

4. == 和is判断的区别

5. 三元表达式(三元运算)

6. 使用all() 和any()函数进行条件判断

7. 使用and 和or判断

8. if __name__ == '__main__'的含义

python的条件语句是指当表达式判断为True(bool值)时执行代码块。

条件语句结构

if 表达式: #表达式为True时 执行代码块1

代码块1

elif 表达式: #表达式为True时 执行代码块2

代码块2

elif 表达式: #表达式为True时 执行代码块3

代码块3

....支持多个elif表达式

else: #以上表达式都为False时 执行代码块n

代码块n

以上结构中elif和else条件语句为非必须。

布尔值的判断

条件表达式判断的是布尔值为True或者False,可以使用函数bool()判断对象的布尔值。

#数字0的布尔值print(bool(0))#打印结果False#数字1的布尔值print(bool(1))#打印结果True

一些内置对象的布尔值说明:

布尔值为False: 数字0,None,False,空列表[],空字典{},空集合set(),空元组()布尔值为True: 非数字0,True,非空列表,非空字典,非空集合set(),非空元组(),自定义的类和实例

自定义的类和实例的布尔值为True:

class Fruit():    def __init__(self,name,color):        self.name = name        self.color = colorfruit = Fruit('apple','red')print(f'自定义的class 布尔值为{bool(Fruit)}')print(f'自定义的实例 布尔值为{bool(fruit)}')#打印结果自定义的class 布尔值为True自定义的实例 布尔值为True
not 表达式表示相反逻辑

举例:当表达式为False时,使用not+表达式,if条件判断为True,会执行代码块1

if not 表达式:	代码块1
== 和is判断的区别

== 判断的是两个对象的值是否相等,而is判断的是对象的内存地址是否一致。

举例:变量A和B都为一个空列表

A = []B = []#使用==判断if A == B:	print('A等于B')#打印结果为True 表示A和B的值一致True#使用is判断print(f'A的内存地址 {id(A)}')print(f'B的内存地址 {id(B)}')if A is B:	print('A和B的内存地址是同一个')else:	print('A和B的内存地址不是同一个')#执行结果如下 表示A和B的内存地址不是同一个 表达式为FalseA的内存地址 4509789696B的内存地址 4509759936
三元表达式(三元运算)

是一个简化的条件表达式,结构如下:expression为True时执行代码块1,否则执行代码块2

[代码块1] if [expression] else [代码块2]

A = 15B = 15if A == B:	C=A+Belse:	C=A-B

以上条件语句可以简化为:

C = A+B if A==B else A-B
使用all() 和any()函数进行条件判断

all() 函数的语法 :all(iterable) 参数为可迭代对象

对于迭代对象的的所有值,如果 bool()的结果都为 True,则返回 True,如果可迭代对象为空,返回 False

any() 函数的语法 :any(iterable) 参数为可迭代对象

对于迭代对象的的所有值,如果 bool()的结果任意一个为 True,则返回 True,如果可迭代对象为空,返回 False

举例:列表A有四个数字,判断列表的数字是否被2整除,只有数字2和4被2整除(列表表达式请学习python列表介绍)

listA = [1,2,3,4]#通过前面文章提到的列表表达式 生成新列表传入all和any函数print(f'执行all()函数的结果: {all([i%2 ==0 for i in listA])}')print(f'执行any()函数的结果: {any([i%2 ==0 for i in listA])}')#结果如下执行all()函数的结果: False执行any()函数的结果: True
使用and 和or判断

有两个表达式A和B

A和B都为True时 A and B 结果为True

A和B有一个为False时 A and B 结果为False

A和B有一个为True时 A or B 结果为True

A和B都为False时 A or B 结果为False

A = TrueB= Falseif A and B:	print(f'A和B都为True时 A and B 结果为True')else:	print(f'A和B有一个为False时 A and B 结果为False')#打印结果:A和B有一个为False时 A and B 结果为Falseif A or B:	print(f'A和B有一个为True时 A or B 结果为True')else:	print(f'A和B都为False时 A or B 结果为False')#打印结果A和B有一个为True时 A or B 结果为True
if __name__ == '__main__'的含义

python模块(单个的.py文件是一个模块)中使用if __name__ == '__main__'时,指只有直接运行该py文件时if判断才会生效,而当该模块被其他模块import导入时则不会生效。

 定一个test.py文件,文件内容如下:print(f'test.py的属性__name__值为: {__name__}')if __name__ == '__main__':	print('执行该内容')#运行test.py 结果:  if __name__ == '__main__'判断为Truetest.py的属性__name__值为: __main__执行该内容当test.py同级目录的另一个文件test1.py通过import导入test.py时:test1.py文件内容如下:import test#运行test1.py的结果:test.py的属性__name__值为: test解释:if __name__ == '__main__'判断为False,因为__name__值变成了文件名test,而不再是__main__

共勉: 东汉·班固《汉书·枚乘传》:“泰山之管穿石,单极之绠断干。水非石之钻,索非木之锯,渐靡使之然也。”

-----指水滴不断地滴,可以滴穿石头;

-----比喻坚持不懈,集细微的力量也能成就难能的功劳。

----感谢读者的阅读和学习,谢谢大家。

标签: #c语言if语句多个条件怎么用 #pythonforif一行 #c语言的if语句中用作判断的条件表达式为 #python输入不确定个参数