python的if条件判断,及多重条件判断和嵌套

前面章节的很多实例当中,我们已经应用到了python的if条件判断。它的内容实际上很简单,关键在于判断条件的设计。

python的if条件判断的多种不同形式

我们不废话,直接用一些实例来展示if条件判断的多种不同形式,大家可以打开jupter notebook。

单一的if条件判断示例

In[1] : a = 6
if a>=6: # 能单一地使用if条件判断的就尽量只使用一个if,代码越简单越好,代码行数越少,执行速度往往也越快。
    print(a)
6

if...else...示例

“如果怎样,就做什么事,否则就做其他的事”,这是比较常见的if判断语句,也相对完整。

In[2] : a = 6
if a>=8: 
    print('True')
else: 
    print('False')
False

if...elif...else示例

“如果这样,就做这样的事,如果那样,就做那样的事,否则就做其他的事”,这是更完整的条件判断,而且可以无限嵌套,可视为多重条件判断。

In[3]: a = 'x1y1z1.com,至简计算'
if type(a)==int:
    print('int')
elif type(a) == list:
    print('list')
elif type(a) == tuple:
    print('tuple')
elif type(a) == dict:
    print('dict')
elif type(a) == set:
    print('set')
elif type(a)==str:
    print('string')
else:
    print(a)
string

注意:if...elif...else条件判断也是从上到下的顺序执行,直到条件被满足为止,否则执行else语句。

if...elif...示例

如果不用else的话,程序也是可以执行的。

in[4]: a = 'x1y1z1.com, python全栈'
if '困难' in a: #还记得前面介绍的成员运算符吗
    print('False')
elif 'python全栈' in a:
    print('True')
True

条件判断的与、或、非示例

前面提到了条件判断中的多重条件判断,现在我们介绍一下同一个条件中的多个条件判断,即多个条件在同一个条件判断中进行布尔(逻辑)的与、或、非等运算,也就是数学上的交集、并集和补集运算:

In[5]: a = 'x1y1z1.com,python,Django,Big Data,Machine Learning'
if 'python' in a and 'Django' in a and 'Big Data' in a and 'Machine Learning' in a: 
    print('x1y1z1.com是一个可以学习python全栈的有价值的网站') 
#用关键词and进行与的运算,数学上的交集运算
In[6]: b = list(range(1,10))
if b[1]==1 or b[8]==10 or b[0]==1: #用关键词or进行布尔的或运算,即数学上的求并集
    print('True') #根据列表的索引我们可知,b[1]为2,b[8]为9,b[0]为1
True
if not (b[1]==1 or b[8]==10): #关键词not进行非的运算,即数学上的补集
    print('True')
True

if条件判断的嵌套

if条件判断的嵌套在python的编程实战之中经常用到:

条件判断的嵌套示例

In[1]: 至简计算网站 = ['python','Django','Big Data','Machine Learning'] #python3.x之后,支持用中文命名变量,但不建议
if 'python' in 至简计算网站:
    if 'Django' in 至简计算网站:
        if 'Big Data' in 至简计算网站:
            if 'Machine Learning' in 至简计算网站:
                print('至简计算网站是一个可以学习python全栈的有价值的网站')
至简计算网站是一个可以学习python全栈的有价值的网站

python的if条件判断就先介绍到这里,下一章节我们将介绍python的循环控制。


全栈后端 / python教程 :


























Copyright © 2022-2024 笨鸟工具 x1y1z1.com All Rights Reserved.