资讯专栏INFORMATION COLUMN

Python 基础起步 (九) 条件语句 if elif else 其实很简单

nidaye / 2114人阅读

摘要:大家好,在我们上一篇复习了的基础和实用技巧后,今天我们来看一下里的逻辑关系,所谓逻辑关系无非就是如果就否则之类的,不是非常复杂,我的意思是复杂的地方不用目前了解,因为已经超出了小白的水准,哈哈,闲话少说,让我们一起来看看吧什么是里面用的形

大家好,在我们上一篇复习了dict的基础和实用技巧后,今天我们来看一下Python里的逻辑关系,所谓逻辑关系无非就是如果...就...否则...之类的,不是非常复杂,我的意思是复杂的地方不用目前了解,因为已经超出了小白的水准,哈哈,闲话少说,让我们一起来看看吧~

什么是if
Python里面用if-else的形式
if :                 #如果满足什么条件
                #就执行什么步骤

注意有两点:

if 后面的判断结果就是True和False两种类型,如果True,将执行statement的步骤1

statement那里一定有缩进,写在if条件里面

让我们拿实际的情况看看具体是什么意思:

x = 0
y = 5

if x < y:                            # True
    print("yes")


if y < x:                            # False
    print("yes")


if x:                                # Falsy  
    print("yes")

if y:                                # Truthy
    print("yes")



if x or y:                           # Truthy
    print("yes")


if x and y:                          # Falsy
    print("yes")


if "aul" in "grault":                # Truthy
    print("yes")


if "quux" in ["foo", "bar", "baz"]:  # Falsy
    print("yes")

我给大家解释一个可能产生的疑问,就是如下这个条件式:

if x:                                # Falsy  
    print("yes")

这里为什么是错误的呢,因为很简单,在Python里默认1就是True,0就是False,这里x的值正好是0,和ython默认的规定的一样,所以这个判断也是错的,大家明白了吧~

满足if条件后有多个statements执行

用大白话讲就是说如果满足了if的条件,那么你有很多事情想依次执行,而且在做完这些事情后完成了条件,开始下一项任务,那么这种情况下调用形式如下图:

if :
    
    
    ...
    

感觉还是图片比较容易理解哈哈~ 让我们来看一个真实的例子:

if "foo" in ["bar", "baz", "qux"]:
    print("Expression was true")
    print("Executing statement in suite")
    print("...")
    print("Done.")
print("After conditional")

这段代码完美的展示了图片中讲解的内容,大家可以猜猜结果,这段代码执行后会输出什么。
现在公布答案:

After conditional

简单说一下,很简单,我们想要看看"foo" 这个字符串是否在数组["bar", "baz", "qux"]里面,如果在,一次执行底下的缩进的4个print方法,如果不在,跳出if,继续该干什么干什么,所以显然易见"foo"不在数组里,因此直接执行最后的print("After conditional")

多个if在一起

大家看一下下面的代码,如果你预想的输出结果和实际的一样,那恭喜你已经彻底明白if是什么东西了

# Does line execute?                        Yes    No
#                                           ---    --
if "foo" in ["foo", "bar", "baz"]:        #  x
    print("Outer condition is true")      #  x

    if 10 > 20:                           #  x
        print("Inner condition 1")        #        x

    print("Between inner conditions")     #  x

    if 10 < 20:                           #  x
        print("Inner condition 2")        #  x

    print("End of outer condition")       #  x
print("After outer condition")            #  x

输出结果为:

Outer condition is true
Between inner conditions
Inner condition 2
End of outer condition
After outer condition
if else

在Python中使用if else 的表达模板如下:

if :
    
else:
    

大家想必很容易看懂,现在举个栗子:

x = 20

if x < 50:
    print("(first suite)")
    print("x is small")
else:
    print("(second suite)")
    print("x is large")

输出结果为:

(first suite)
x is small

很容易理解了,如果满足if条件如何,else否则怎么怎么样

if,elif ,else

让我们来看最后一种情况,也很好弄懂,elif的意思就是else if 的缩写而已,表达模式如下:

if :
    
elif :
    
elif :
    
    ...
else:
    

看一个具体实例:

name = "Joe"
if name == "Fred":
    print("Hello Fred")
elif name == "Xander":
    print("Hello Xander")
elif name == "Joe":
    print("Hello Joe")
elif name == "Arnold":
    print("Hello Arnold")
else:
    print("I don"t know who you are!")

输出结果为:

Hello Joe

总而言之就是如果不满足第一个if条件,接着看是否满足第二个if条件,然后是第三个...

if 写在一行里

Python有一个好处就是它非常懒,很多东西它会自己想办法减少代码量,所以就出现了以下这种写法:

if : 
if : ; ; ...; 

分别看两个例子,第一个简单一些的:

if "f" in "foo": print("1"); print("2"); print("3")
Out:1
     2
     3

稍微复杂一些的:

x = 2
if x == 1: print("foo"); print("bar"); print("baz")
elif x == 2: print("qux"); print("quux")
else: print("corge"); print("grault")

Out: qux
     quux
总结

基本的条件语句常见的就这几种

个人建议不要写一行,还是拆成多行写,这样思路清晰

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/43102.html

相关文章

  • Python基础之控制结构

    摘要:基础之控制结构学习目标代码块与缩进条件语句语句语句的嵌套断言循环循环循环中断循环控制语句综合嵌套列表解析式基础相关链接学习目标是简洁易学面向对象的编程语言。 Py...

    liaosilzu2007 评论0 收藏0
  • [零基础python]复习if语句

    摘要:在学习语句的时候,对编程的基础知识了解的还不是很多,或许没有做什么太复杂的东西。可以通过一个内置函数来判断一个条件的结果还是。有朋友需要看完整教程内容,请点击零基础学,这里会及时更新,并且有完整的目录结构,更吸纳了朋友们提出的意见和建议。 看官是否记得,在上一部分的时候,有一讲专门介绍if语句的:从if开始语句的征程。在学习if语句的时候,对python编程的基础知识了解的还不是很多,...

    array_huang 评论0 收藏0
  • Python 基础篇 - 简单数据处理I

    摘要:获取怎样的数据在这里首先需要考虑,我们的四则运算计算器的计算复杂度是如何的是仅能计算两个数值的简单运算,如还是能进行混合四则运算,如那么你想处理运算的复杂程度就决定了你想获取怎样的数据,这是很实际的问题。 引言 在上一篇文章的介绍中,我们提及了Python的三种基本数据类型,如文章末尾所说,Python中的内建数据类型并不仅仅是这几种,但其实我从接触Python到现在,往往就是这几种简...

    msup 评论0 收藏0
  • [零基础python]从if开始语句的征程

    摘要:一般所有高级语言,都包含如下语句,也不例外循环语句容许一些语句反复运行数次。条件语句容许仅当某些条件成立时才运行某个区块。无条件分支语句容许运行顺序转移到程序的其他部分之中。零基础学我在上的文章,随时更新修改。 一般编程的教材,都是要把所有的变量类型讲完,然后才讲语句。这种讲法,其实不符合学习的特点。学习,就是要循序渐进的。在这点上,我可以很吹一通了,因为我做过教师,研究教育教学,算是...

    caspar 评论0 收藏0
  • 黑教小本本---python if 判断选择结构

    摘要:判断语句可以进行多层嵌套判断条件进行判断条件满足之后执行下方语句执行语句判断条件在满足上述条件的基础上进行再次判断执行语句例子小龙虾走起看看小马的找小马蹭小龙虾,。小马请不起,还是去肯馒头吧。看看小马的找小马蹭小龙虾,。 代码执行结构为顺序结构、选择结构、循环结构。 python判断选择结构【if】 if 判断条件 #进行判断条件满足之后执行下方语句 执行语句 elif 判...

    TwIStOy 评论0 收藏0

发表评论

0条评论

nidaye

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<