计算机网络技术网站开发,北京软件公司排行,最近三天国内重大新闻,公众号里的网站怎么做目录 编辑
4.5 元组
4.5.1 定义元组
dimensions.py
4.5.2 遍历元组中的所有值
4.5.3 修改元组变量
4.6 设置代码格式
4.6.1 格式设置指南
4.6.2 缩进
4.6.3 行长
4.6.4 空行
4.6.5 其他格式设置指南
4.7 小结
第5章
if语句
5.1 一个简单示例
cars.py
5.2 条…目录 编辑
4.5 元组
4.5.1 定义元组
dimensions.py
4.5.2 遍历元组中的所有值
4.5.3 修改元组变量
4.6 设置代码格式
4.6.1 格式设置指南
4.6.2 缩进
4.6.3 行长
4.6.4 空行
4.6.5 其他格式设置指南
4.7 小结
第5章
if语句
5.1 一个简单示例
cars.py
5.2 条件测试
5.2.1 检查是否相等
5.2.2 检查是否相等时不考虑大小写
5.2.3 检查是否不相等
toppings.py
往期快速传送门在文章最后 4.5 元组
列表非常适合用于存储在程序运行期间可能变化的数据集。列表是可以修改的这对处理网 站的用户列表或游戏中的角色列表至关重要。然而有时候你需要创建一系列不可修改的元素 元组可以满足这种需求。Python将不能修改的值称为不可变的而不可变的列表被称为元组。
4.5.1 定义元组
元组看起来犹如列表但使用圆括号而不是方括号来标识。定义元组后就可以使用索引来 访问其元素就像访问列表元素一样。
例如如果有一个大小不应改变的矩形可将其长度和宽度存储在一个元组中从而确保它 们是不能修改的
dimensions.py
1 dimensions (200, 50)
2 print(dimensions[0])
print(dimensions[1])
我们首先定义了元组dimensions见1为此我们使用了圆括号而不是方括号。接下来我 们分别打印该元组的各个元素使用的语法与访问列表元素时使用的语法相同见2
200
50
下面来尝试修改元组dimensions中的一个元素看看结果如何
dimensions (200, 50)
1 dimensions[0] 250 1处的代码试图修改第一个元素的值导致Python返回类型错误消息。由于试图修改元组的 操作是被禁止的因此Python指出不能给元组的元素赋值
Traceback (most recent call last):File dimensions.py, line 3, in moduledimensions[0] 250
TypeError: tuple object does not support item assignment
代码试图修改矩形的尺寸时Python报告错误这很好因为这正是我们希望的。
4.5.2 遍历元组中的所有值
像列表一样也可以使用for循环来遍历元组中的所有值
dimensions (200, 50)
for dimension in dimensions:print(dimension)
就像遍历列表时一样Python返回元组中所有的元素
200
50
4.5.3 修改元组变量
虽然不能修改元组的元素但可以给存储元组的变量赋值。因此如果要修改前述矩形的尺 寸可重新定义整个元组
1 dimensions (200, 50)
print(Original dimensions:)
for dimension in dimensions:print(dimension)
2 dimensions (400, 100)
3 print(\nModified dimensions:)
for dimension in dimensions:print(dimension)
我们首先定义了一个元组并将其存储的尺寸打印了出来见1接下来将一个新元组 存储到变量dimensions中见然后打印新的尺寸见3。这次Python不会报告任何错 误因为给元组变量赋值是合法的
Original dimensions:
200
50
Modified dimensions:
400
100
相比于列表元组是更简单的数据结构。如果需要存储的一组值在程序的整个生命周期内都 不变可使用元组。
4.6 设置代码格式
随着你编写的程序越来越长有必要了解一些代码格式设置约定。请花时间让你的代码尽可 能易于阅读让代码易于阅读有助于你掌握程序是做什么的也可以帮助他人理解你编写的代码。
为确保所有人编写的代码的结构都大致一致Python程序员都遵循一些格式设置约定。学会 编写整洁的Python后就能明白他人编写的Python代码的整体结构——只要他们和你遵循相同的 指南。要成为专业程序员应从现在开始就遵循这些指南以养成良好的习惯。
4.6.1 格式设置指南
若要提出Python语言修改建议需要编写Python改进提案Python Enhancement Proposal PEP。PEP 8是最古老的PEP之一它向Python程序员提供了代码格式设置指南。PEP 8的篇幅很 长但大都与复杂的编码结构相关。
Python格式设置指南的编写者深知代码被阅读的次数比编写的次数多。代码编写出来后 调试时你需要阅读它给程序添加新功能时需要花很长的时间阅读代码与其他程序员分享代 码时这些程序员也将阅读它们。
如果一定要在让代码易于编写和易于阅读之间做出选择Python程序员几乎总是会选择后 者。下面的指南可帮助你从一开始就编写出清晰的代码。
4.6.2 缩进
PEP 8建议每级缩进都使用四个空格这既可提高可读性又留下了足够的多级缩进空间。 在字处理文档中大家常常使用制表符而不是空格来缩进。对于字处理文档来说这样做的 效果很好但混合使用制表符和空格会让Python解释器感到迷惑。每款文本编辑器都提供了一种 设置可将输入的制表符转换为指定数量的空格。你在编写代码时应该使用制表符键但一定要 对编辑器进行设置使其在文档中插入空格而不是制表符。
在程序中混合使用制表符和空格可能导致极难解决的问题。如果你混合使用了制表符和空 格可将文件中所有的制表符转换为空格大多数编辑器都提供了这样的功能。
4.6.3 行长
很多Python程序员都建议每行不超过80字符。最初制定这样的指南时在大多数计算机中 终端窗口每行只能容纳79字符当前计算机屏幕每行可容纳的字符数多得多为何还要使用79 字符的标准行长呢这里有别的原因。专业程序员通常会在同一个屏幕上打开多个文件使用标 准行长可以让他们在屏幕上并排打开两三个文件时能同时看到各个文件的完整行。
PEP 8还建议 注释的行长都不超过72字符因为有些工具为大型项目自动生成文档时会在每行注释开头添加 格式化字符。 PEP 8中有关行长的指南并非不可逾越的红线有些小组将最大行长设置为99字符。在学习期间你不用过多地考虑代码的行长但别忘了协作编写程序时大家几乎都遵守PEP 8指南。 在大多数编辑器中都可设置一个视觉标志——通常是一条竖线让你知道不能越过的界线在什 么地方。 注意 附录B介绍了如何配置文本编辑器以使其在你按制表符键时插入四个空格显示一条 垂直参考线帮助你遵守行长不能超过79字符的约定。 4.6.4 空行
要将程序的不同部分分开可使用空行。你应该使用空行来组织程序文件但也不能滥用 只要按本书的示例展示的那样做就能掌握其中的平衡。例如如果你有5行创建列表的代码 还有3行处理该列表的代码那么用一个空行将这两部分隔开是合适的。然而你不应使用三四 个空行将它们隔开。
空行不会影响代码的运行但会影响代码的可读性。Python解释器根据水平缩进情况来解读 代码但不关心垂直间距。
4.6.5 其他格式设置指南
PEP 8还有很多其他的格式设置建议但这些指南针对的程序大都比目前为止本书提到的程 序复杂。等介绍更复杂的Python结构时我们再来分享相关的PEP 8指南。
4.7 小结
在本章中你学习了如何高效地处理列表中的元素如何使用for循环遍历列表Python 如何根据缩进来确定程序的结构以及如何避免一些常见的缩进错误如何创建简单的数字列表 以及可对数字列表执行的一些操作如何通过切片来使用列表的一部分和复制列表。你还学习了 元组它对不应变化的值提供了一定程度的保护以及在代码变得越来越复杂时如何设置格式 使其易于阅读。
在第5章中你将学习如何使用if语句在不同的条件下采取不同的措施学习如何将一组较 复杂的条件测试组合起来并在满足特定条件时采取相应的措施。你还将学习如何在遍历列表时 通过使用if语句对特定元素采取特定的措施。
第5章
if语句 5.1 一个简单示例
下面是一个简短的示例演示了如何使用if语句来正确地处理特殊情形。假设你有一个汽车 列表并想将其中每辆汽车的名称打印出来。对于大多数汽车都应以首字母大写的方式打印其 名称但对于汽车名bmw应以全大写的方式打印。下面的代码遍历一个列表并以首字母大 写的方式打印其中的汽车名但对于汽车名bmw以全大写的方式打印
cars.py
cars [audi, bmw, subaru, toyota]
for car in cars:
1 if car bmw:print(car.upper())else:print(car.title())
这个示例中的循环首先检查当前的汽车名是否是bmw见。如果是就以全大写的方式 打印它否则就以首字母大写的方式打印
Audi
BMW
Subaru
Toyota
这个示例涵盖了本章将介绍的很多概念。下面先来介绍可用来在程序中检查条件的测试。
5.2 条件测试
每条if语句的核心都是一个值为True或False的表达式这种表达式被称为条件测试。Python 根据条件测试的值为True还是False来决定是否执行if语句中的代码。如果条件测试的值为True Python就执行紧跟在if语句后面的代码如果为FalsePython就忽略这些代码。
5.2.1 检查是否相等
大多数条件测试都将一个变量的当前值同特定值进行比较。最简单的条件测试检查变量的值 是否与特定值相等
1 car bmw
2 car bmw
True
我们首先使用一个等号将car的值设置为bmw见1这种做法你已见过很多次。接下来 使用两个等号检查car的值是否为bmw。这个相等运算符在它两边的值相等时返回True 否则返回False。在这个示例中两边的值相等因此Python返回True。 如果变量car的值不是bmw上述测试将返回False
1 car audi
2 car bmw
False
一个等号是陈述对于1处的代码可解读为“将变量car的值设置为audi”。两个等号是 发问对于2处的代码可解读为“变量car的值是bmw吗”。大多数编程语言使用等号的方 式都与这里演示的相同。
5.2.2 检查是否相等时不考虑大小写
在Python中检查是否相等时区分大小写例如两个大小写不同的值会被视为不相等 car Audicar audi
False
如果大小写很重要这种行为有其优点。但如果大小写无关紧要而只想检查变量的值可 将变量的值转换为小写再进行比较 car Audicar.lower() audi
True
无论值Audi的大小写如何上述测试都将返回True因为该测试不区分大小写。函数lower() 不会修改存储在变量car中的值因此进行这样的比较时不会影响原来的变量
1 car Audi
2 car.lower() audi
True
3 car
Audi
在1处我们将首字母大写的字符串Audi存储在变量car中在2处我们获取变量car的 值并将其转换为小写再将结果与字符串audi进行比较。这两个字符串相同因此Python返回 True。从3处的输出可知这个条件测试并没有影响存储在变量car中的值。
网站采用类似的方式让用户输入的数据符合特定的格式。例如网站可能使用类似的测试来 确保用户名是独一无二的而并非只是与另一个用户名的大小写不同。用户提交新的用户名时 将把它转换为小写并与所有既有用户名的小写版本进行比较。执行这种检查时如果已经有用 户名john不管大小写如何则用户提交用户名John时将遭到拒绝。
5.2.3 检查是否不相等
要判断两个值是否不等可结合使用惊叹号和等号!其中的惊叹号表示不在很多编 程语言中都如此。
下面再使用一条if语句来演示如何使用不等运算符。我们将把要求的比萨配料存储在一个变 量中再打印一条消息指出顾客要求的配料是否是意式小银鱼anchovies
toppings.py
requested_topping mushrooms
1 if requested_topping ! anchovies:print(Hold the anchovies!)
1处的代码行将requested_topping的值与anchovies进行比较如果它们不相等Python 将返回True进而执行紧跟在if语句后面的代码如果这两个值相等Python将返回False因此 不执行紧跟在if语句后面的代码。
由于requested_topping的值不是anchovies因此执行print语句
Hold the anchovies!
你编写的大多数条件表达式都检查两个值是否相等但有时候检查两个值是否不等的效率 更高。 Python核心知识点整理大全1-笔记-CSDN博客
Python核心知识点整理大全2-笔记-CSDN博客
Python核心知识点整理大全3-笔记-CSDN博客
Python核心知识点整理大全4-笔记-CSDN博客
Python核心知识点整理大全5-笔记-CSDN博客
Python核心知识点整理大全6-笔记-CSDN博客
Python核心知识点整理大全7-笔记-CSDN博客
往期快速传送门在文章最后