Python条件判断

本文详细介绍了Python中的条件判断,包括if、elif、else语句的使用,条件运算符如等于、不等于、同一性运算符is、成员资格运算符in以及布尔运算的短路逻辑。此外,还提到了在条件判断中使用input()函数时的注意事项和转换数据类型的问题。
摘要由CSDN通过智能技术生成

今天给大家带来python条件判断

1、前言

到目前为止,Python基础系列的文章中的程序都是一条一条语句顺序执行的。在本章中,我会重点介绍让程序选择是否执行语句块的方法。

Python程序为什么可以实现自我选择的功能呢?因为它可以根据条件进行判断是否执行下面的语句块。

2、条件判断

1.1 语句块

什么是语句块呢?

语句块是在条件为真(条件语句)时执行或者执行多次(循环语句)的一组语句。在代码前放置空格来缩进语句即可创建语句块。

关于缩进:

使用tab键也可以缩进语句块。Python将一个tab字符解释为到下一个tab字符位置的移动,而一个tab字符位置为8个空格,但是标准且推荐的方式是只用空格,尤其是在每个缩进需要4个空格的时候。

在Python中,英文版冒号(:)用来标识语句块的开始,块中的每一个语句都是缩进的(缩进量相同)。当回退到和已经已经闭合的块一样的缩进量时,就表示当前块已经结束了(这个不用担心,很多程序编辑器和集成开发环境都知道如何缩进语句块,可以帮助用户轻松把握缩进)!!!

1.2 条件和条件语句

传说中的if语句就要闪亮登场啦~~~

使用条件语句不要少写了冒号(:),而且必须是英文版本的。

  1. if语句

对于if语句,若条件判定为真,那么后面的语句块就会被执行。若条件判定为假,语句块就会被跳过,不会执行。

1 #if语句
2 age = 20
3 if age >= 18:
4     print('your age is', age)
5     print('adult')
  1. else语句

else子句只是增加一种选择(之所以叫做子句是因为它不是独立的语句,而是if的一部分)。if…else…搭配,若if语句为False,不执行if下的语句块,而去else下的语句块。

1 #if...else...语句
2 age = 3
3 if age >= 18:
4     print('your age is', age)
5     print('adult')
6 else:
7     print('your age is', age)
8     print('teenager')
  1. elif语句

如果需要检查多个条件,就可以使用elif,它是else if的简写,也是if和else语句的联合使用,即使用elif做更细致的判断:

1 #if...elif...elif...else...语句
2 age = 3
3 if age >= 18:
4     print('adult')
5 elif age >= 6:
6     print('teenager')
7 else:
8     print('kid')
  1. 条件语句总结

if <条件判断1>:
<执行1>
elif <条件判断2>:
<执行2>
elif <条件判断3>:
<执行3>
else:
<执行4>

  1. 注意点

if语句执行有个特点,它是从上往下判断,如果在某个判断上是True,把该判断对应的语句执行后,就忽略掉剩下的elifelse语句,所以,请测试并解释为什么下面的程序打印的是teenager:

1 #条件语句执行特点:从上往下判断
2 age = 20
3 if age >= 6:
4     print('teenager')
5 elif age >= 18:
6     print('adult')
7 else:
8     print('kid')
  1. input()运用

最后看一个有问题的条件判断。很多同学会用input()读取用户的输入,这样可以自己输入,程序运行得更有意思,更有人性化。其实啊,Error往往出现在意想不到的地方。不信,来看段代码:

#if语句中使用input()方法
birth = input('birth: ')
if birth < 2000:
    print('00前')
else:
    print('00后')

输入1993,结果报错:

Traceback (most recent call last):
File “”, line 1, in
TypeError: unorderable types: str() > int()

为什么呢?我在刚接触Python时,用到此处报错也是百思不得其解,同样纠结了好久。直到后来,我才慢慢懂了。

这是因为input()返回的数据类型是strstr不能直接和整数比较,必须先把str转换成整数。Python提供了int()函数来完成这件事情。

s = input('birth: ')
birth = int(s)
if birth < 2000:
    print('00前')
else:
    print('00后')

因此,在编程中,条件判断是非常重要的。条件判断可以让计算机自己做选择,Python的if…elif…else很灵活。条件判断从上向下匹配,当满足条件时执行对应的块内语句,后续的elif和else都不再执行。

1.3 条件运算符

条件判断,if语句重在判断并选择是否执行,而没有过多涉及条件本身。

下面是Python中常见的条件运算符:

表达式描述
x == yx 等于 y
x < yx 小于 y
x > yx 大于 y
x >= yx 大于等于 y
x <= yx 小于等于 y
x != yx 不等于 y
x is yx和y是同一个对象
x is not yx和y不是同一对象
x in yx是y容器的成员
x not in yx不是y容器的成员

在Python中,比较运算和赋值运算是可以连接的——几个运算符可以连在一起使用,比如:0 < age <120。

有些运算符值得特别关注:

一、相等运算符

如果想要知道两个内容是否相等,你应该使用相等运算符,即两个等号==。请务必记得是两个等号!!!单个等号可是赋值啊~~~

1 #相等运算符==
2 >>>"python" == "python"
3 True
4 >>>"Python" == "python"
5 False
6 >>>"python" = "python"
7   File "<stdin>", line 1
8 SyntaxError: can't assign to literal
9 #很明显,单个相等运算符是赋值运算符,是用来改变值的,而不能用来比较

二、is:同一性运算符

这个定义很不友好,什么是同一性?首次接触真是云里雾里啊,真正理解is运算符才知道同一性的真谛。

乍一看,is运算符和==一样,事实上却不同。

示例代码如下:

 1 #同一性运算符:is
 2 #is和==之间的差异
 3 >>>x = y = [1,2,3]
 4 >>>z = [1,2,3]
 5 >>>x == y
 6 True
 7 >>>x == z
 8 True
 9 >>>x is y
10 True
11 >>>y is x
12 True
13 >>>x is z
14 False
15 >>>z is x
16 False

注:==运算符比较两个对象是否相等,is判定两者是否等同(同一个对象)。

三、in:成员资格运算符

四、布尔运算符:and、or和not

五、短路逻辑

短路???条件表达式中的布尔运算符就有这个特性。什么是短路逻辑呢?如下所示:

条件表达式:a and b,该表达式何时返回True呢?即a与b同时为真,若a判定为False,则无论b是真是假,该表达式都为为False。

事实上,如果x为假,条件表达式会返回x的值,否则返回y的值。这种行为被称为短路逻辑。而短路逻辑同样适用于or运算符。

小结

  1. 等号运算符:==,单个等号=为赋值运算符;

  2. Python的条件判断if…elif…else很灵活;

  3. 条件判断从上向下匹配;

  4. 短路逻辑适用于布尔运算符(and,or)。

好了,今天就介绍到这儿。

学习资源推荐
除了上述分享,学好 Python 不论是就业还是做副业赚钱都不错,但要学会 Python 还是要有一个学习规划。最后大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!

包括:Python激活码+安装包、Python web开发,Python爬虫,Python数据分析,人工智能、自动化办公等学习教程。带你从零基础系统性的学好Python!

👉Python所有方向的学习路线👈

Python所有方向路线就是把Python常用的技术点做整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。(全套教程文末领取)

在这里插入图片描述
👉Python学习视频600合集👈

观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。

在这里插入图片描述

温馨提示:篇幅有限,已打包文件夹,获取方式在:文末

👉Python70个实战练手案例&源码👈

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

在这里插入图片描述

👉Python大厂面试资料👈

我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

在这里插入图片描述

在这里插入图片描述

👉Python副业兼职路线&方法👈

学好 Python 不论是就业还是做副业赚钱都不错,但要学会兼职接单还是要有一个学习规划。

在这里插入图片描述

👉 这份完整版的Python全套学习资料已经上传,朋友们如果需要可以V扫描下方二维码联系领取
保证100%免费

  • 30
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值