5.1 一个简单示例

cars = ['audi', 'bmw', 'subaru', 'toyota']
for car in cars:
if car == 'bmw':
print(car.upper())
else:
print(car.title())
Audi
BMW
Subaru
Toyota

5.2 条件测试

  每条if 语句的核心都是一个值为True 或False 的表达式,这种表达式被称为条件测试 。

  5.2.1 检查是否相等

  相等运算符 两个等号(== )
  5.2.2 检查是否相等时不考虑大小写

  在Python中检查是否相等时区分大小写,例如,两个大小写不同的值会被视为不相等:

  如果大小写很重要,这种行为有其优点。但如果大小写无关紧要,而只想检查变量的值,可将变量的值转换为小写,再进行比较
  5.2.3 检查是否不相等

  要判断两个值是否不等,可结合使用惊叹号和等号(!= )
  5.2.4 比较数字

  检查数值非常简单,条件语句中可包含各种数学比较,如小于、小于等于、大于、大于等于

  5.2.5 检查多个条件

  1. 使用and 检查多个条件  2. 使用or 检查多个条件
  5.2.6 检查特定值是否包含在列表中

  要判断特定的值是否已包含在列表中,可使用关键字in 。

  5.2.7 检查特定值是否不包含在列表中
  
确定特定的值未包含在列表中很重要;可使用关键字not in
  5.2.8 布尔表达式

  条件测试的别名。与条件表达式一样,布尔表达式的结果要么为True ,要么为False 。

car="bmw"
print(car=="Bmw")
print(car!="Bmw")
print(2>1)
print(2==1)
print(2<1)
print(2<1 and 2>1)
print(2<1 or 2>1)
cars = ['audi', 'bmw', 'subaru', 'toyota']
print(car in cars)
print(car not in cars)
False
True
True
False
False
False
True
True
False

5.3 if语句

  5.3.1 简单的if语句

  最简单的if 语句只有一个测试和一个操作:

if conditional_test:
do something

  如果条件测试的结果为True ,Python就会执行紧跟在if 语句后面的代码;否则Python将忽略这些代码。

  在if 语句中,缩进的作用与for 循环中相同。如果测试通过了,将执行if 语句后面所有缩进的代码行,否则将忽略它们。

  5.3.2 if-else语句

  经常需要在条件测试通过了时执行一个操作,并在没有通过时执行另一个操作;在这种情况下,可使用Python提供的if-else 语句。if-else 语句块类似于简单的if 语句,

  但其中的else 语句让你能够指定条件测试未通过时要执行的操作。

  5.3.3 if-elif-else结构

  经常需要检查超过两个的情形,为此可使用Python提供的if-elif-else 结构。Python只执行if-elif-else 结构中的一个代码块,它依次检查每个条件测试,直到遇到通过

了的条件测试。测试通过后,Python将执行紧跟在它后面的代码,并跳过余下的测试。

  5.3.4 使用多个elif代码块

  可根据需要使用任意数量的elif 代码块
  5.3.5 省略else代码块

  Python并不要求if-elif 结构后面必须有else 代码块。在有些情况下,else 代码块很有用;而在其他一些情况下,使用一条elif 语句来处理特定的情形更清晰

  else 是一条包罗万象的语句,只要不满足任何if 或elif 中的条件测试,其中的代码就会执行,这可能会引入无效甚至恶意的数据
  5.3.6 测试多个条件

  if-elif-else 结构功能强大,但仅适合用于只有一个条件满足的情况:遇到通过了的测试后,Python就跳过余下的测试,让你能够测试一个特定的条件。

  然而,有时候必须检查你关心的所有条件。在这种情况下,应使用一系列不包含elif 和else 代码块的简单if 语句。

  在可能有多个条件为True ,且你需要在每个条件为True时都采取相应措施时,适合使用这种方法。

requested_toppings = ['mushrooms', 'extra cheese']
if 'mushrooms' in requested_toppings:
print("Adding mushrooms.")
if 'pepperoni' in requested_toppings:
print("Adding pepperoni.")
if 'extra cheese' in requested_toppings:
print("Adding extra cheese.")
print("\nFinished making your pizza!") age = 12
if age < 4:
price = 0
elif age < 18:
price = 5
elif age < 65:
price = 10
elif age >= 65:
price = 5
print("\nYour pizza cost is $" + str(price) + ".")
Adding mushrooms.
Adding extra cheese. Finished making your pizza!
Your pizza cost is $5.

5.4 使用if语句处理列表

  通过结合使用if 语句和列表,可完成一些有趣的任务:对列表中特定的值做特殊处理;

  5.4.1 检查特殊元素

  循环配合if语句进行检查
  5.4.2 确定列表不是空的

  if配合循环进行操作

items = []
if items:
for item in items:
print("hi")
print("items has item")
else:
print("items do not has item")
items do not has item

  5.4.3 使用多个列表  

items=list(range(1,10))
for item in items:
if item==1:
print("1st")
elif item==2:
print("2nd")
elif item==3:
print("3rd")
else:
print(str(item)+"th") items2=[11,3,5,23]
for item in items2:
if item in items:
print(str(item)+":true")
else:
print(str(item)+":false")
1st
2nd
3rd
4th
5th
6th
7th
8th
9th
11:false
3:true
5:true
23:false

5.5 设置if语句的格式

  在条件测试的格式设置方面,PEP 8提供的唯一建议是,在诸如== 、>= 和<= 等比较运算符两边各添加一个空格,例如,if age < 4: 要比if age<4: 好。

  这样的空格不会影响Python对代码的解读,而只是让代码阅读起来更容易

  ....上面例子的代码 格式不好,见谅...

读书笔记「Python编程:从入门到实践」_5.if语句的更多相关文章

  1. 读书笔记「Python编程:从入门到实践」_9.类

    9.1 创建和使用类 面向对象编程——Object Oriented Programming,简称OOP,是一种程序设计思想. OOP把对象作为程序的基本单元,一个对象包含了数据和操作数据的函数. 把 ...

  2. 读书笔记「Python编程:从入门到实践」_11.测试函数

    11.1 测试函数 要学习测试,得有要测试的代码.下面是一个简单的函数,它接受名和姓并返回整洁的姓名: def get_formatted_name(first, last): "" ...

  3. 读书笔记「Python编程:从入门到实践」_10.文件和异常

    10.1 从文件中读取数据  10.1.1 读取整个文件 with open(~) as object: contents=object.read() with open('C:/Users/jou/ ...

  4. 读书笔记「Python编程:从入门到实践」_8.函数

    8.1 定义函数 def greet_user(): # def 来告诉Python你要定义一个函数.这是函数定义 """Hello World""& ...

  5. 读书笔记「Python编程:从入门到实践」_7.用户输入和while循环

    7.1 函数input()的工作原理 函数input() 让程序暂停运行,等待用户输入一些文本.获取用户输入后,Python将其存储在一个变量中,以方便你使用. message = input(&qu ...

  6. 读书笔记「Python编程:从入门到实践」_6.字典

    6.1 一个简单的字典 alien_0 = {'color': 'green', 'points': 5} print(alien_0['color']) print(alien_0['points' ...

  7. 读书笔记「Python编程:从入门到实践」_4.操作列表

    4.1 遍历整个列表   4.1.1 深入地研究循环   4.1.2 在for循环中执行更多的操作   4.1.3 在for循环结束后执行一些操作  例 magicians = ['alice', ' ...

  8. 读书笔记「Python编程:从入门到实践」_3.列表简介

    3.1 列表是什么 列表 由一系列按特定顺序排列的元素组成. 在Python中,用方括号([] )来表示列表,并用逗号来分隔其中的元素. 3.1.1 访问列表元素 指出列表的名称,再指出元素的索引   ...

  9. 读书笔记「Python编程:从入门到实践」_2.变量和简单数据类型

    做了大半年RPA了,用的工具是Kapow. 工作没有那么忙,不想就这么荒废着,想学点什么.就Python吧. 为期三个月,希望能坚持下来. 2.1 变量的命名和使用 变量名只能包含字母.数字和下划线. ...

随机推荐

  1. sqlyog

    https://github.com/webyog/sqlyog-community/wiki/Downloads

  2. VB.NET机房收费 &amp; 抽象工厂模式

    学习设计模式的时候,提到了一个专门訪问数据库的模式-抽象工厂模式,记得当时举样例理解的时候并未设计到数据库,仅仅是大概了了解了一下,如今对于机房收费系统涉及到了数据库的管理,借此机会好好学习一下.用常 ...

  3. Mybatis+0+null,小问题引发的血案

    Mybatis在进行<if test="status != null and status != ''">判空操作时,假设status为0的时候,该推断条件的值为fal ...

  4. 【JavaScript】离开页面前提示

    离开页面前的提示不能够用onunload去做,由于它仅仅是兼容IE,你要兼容Google与FireFox就蛋疼了. 并且这个事件还是关闭之后才会触发的. 取而代之能够用onbeforeunload去实 ...

  5. 创造HTTPS的是个神

    HTTP 是一个明文传输的协议,很多网络监听工具都可以轻易窃取网络中传输的用户信息,如密码,信用卡, 直到后来发明HTTPS, 世界一下子安静了 Why HTTPS? HTTPS可以保证用户提交的信息 ...

  6. 《TCP/IP具体解释》读书笔记(21章)-TCP的超时与重传

    TCP提供可靠的运输层. 它使用的方法之中的一个就是确认从还有一端收到的数据.但数据和确认都有可能会丢失.TCP通过在发送时设置一个定时器来解决这样的问题.假设当定时器溢出时还没有收到确认,它就重传该 ...

  7. luogu1197 [JSOI2008]星球大战

    题目大意 有一个无向图,每次删除一个节点,求删除后图中连通块的个数.(如果两个星球可以通过现存的以太通道直接或间接地连通,则这两个星球在同一个连通块中) 题解 连通块?用并查集可以找到一个连通块,但是 ...

  8. 0.0.0.0 IPAddress.Any 【】127.0.0.1 IPAddress.Loopback 【】localhost

    0.0.0.0  IPAddress.Any https://msdn.microsoft.com/en-us/library/system.net.ipaddress.any(v=vs.110).a ...

  9. bzoj1231[Usaco2008 Nov]mixup2 混乱的奶牛(状压dp)

    1231: [Usaco2008 Nov]mixup2 混乱的奶牛 Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 1032  Solved: 588[ ...

  10. Django day01 web应用程序 , http协议

    一:web应用程序1.什么是web应用程序 是一种可以通过web访问的应用程序,最大的好处就是, 只要有浏览器,用户就能很容易访问到应用程序 2. web应用程序的优缺点 缺点: 应用程序强调了浏览器 ...