条件语句可以让程序选择是否执行特定的语句块。
1. 布尔值
在用作if语句中的条件时,标准值False、None、数值0、空字符串、空元祖、空列表、空字典等,都被视为假。
True和其他各种值都被视为真。
>>> if 'aa':
... print('aa is True')
...
aa is True
>>> if 0: # 0被判断为False,没有执行print
... print('0 is true')
...
2. if elif else
直接上代码:
>>> num = int(input('Enter a number:'))
Enter a number:>? 10
>>> if num > 0:
... print('The number is positive')
... elif num < 0:
... print('The number is negative')
... else:
... print('The number is zero')
...
The number is positive
3. 条件表达式
如果条件为真,表达式的结果为提供的第一个值,否则为第二个值。
>>> name = 'Jack'
>>> status = 'friend' if name.endswith('Gumby') else 'stranger'
>>> status
'stranger'
4. 比较运算符
| 表达式 | 描述 |
|---|---|
| x == y | x 等于 y |
| x < y | x 小于 y |
| x > y | x 大于 y |
| x <= y | x 小于或等于 y |
| x >= y | x 大于或等于 y |
| x != y | x 不等于 y |
| x is y |
x 和 y 是同一对象 |
| x is not y | x 和 y 是不同的对象 |
| x in y |
x 是容器(如序列)y 的成员 |
| x not in y |
x 不是容器(如序列)y的成员 |
注意:在比较大小时,仅对类型相同或相近的对象有意义,例如整数和浮点数之间。在python 3以后,如果用字符和数值比较大小就会报错了。
- is 和 ==
is 看似和==一样,其实不一样,==是判断两个对象是否相等,而is是判断两个对象是否为同一对象。注意:不要将is用于数值和字符串等不可变的基本值,因为结果是不可预测的。
>>> x=y=[1,2,3]
>>> z=[1,2,3]
>>> x==y
True
>>> x==z
True
>>> x is y
True
>>> x is z
False
- 字符串和序列的比较
字符串是根据字母排序顺序进行比较的,但要注意大写与小写字符的比较。
>>> 'a'<'b'
True
>>> 'a'<'B'
False
>>> 'a'.lower()<'B'.lower()
True
其他序列的比较方式与此相同,也是根据其元素的顺序进行比较的。
>>> [1,2]<[2,1]
True
>>> [2,[1,3]]<[2,[1,5]]
True
5. 布尔运算符和链式比较
and、or和not是三个布尔运算符
x and y:当条件x和y都为真、True时,才返回True。在某些时候也可以使用链式比较来简化语句。
>>> num1=5
>>> if num1 >1 and num1 < 10:
... print(num1)
...
5
>>> if 1<num1<10:
... print(num1)
...
5
x or y:当条件x和y中有一个为True,则返回True。
>>> if num1 >0 or num1 < 0:
... print('num1 is not 0')
...
num1 is not 0
x not y:当条件x为True且y为False时,返回True。
>>> if num1>0 and not num1==0:
... print('num1 is not negative')
...
num1 is not negative
参考:
《Python基础教程》
本文深入探讨了Python中的条件语句,包括布尔值的真值测试、if-elif-else语句、条件表达式、比较运算符以及布尔运算符的使用。通过实例,详细解析了如何在Python中进行条件判断和逻辑操作。
——条件语句if的用法&spm=1001.2101.3001.5002&articleId=85147078&d=1&t=3&u=338d8dc8bad948ab92fd01109fb58f98)

被折叠的 条评论
为什么被折叠?



