PEP 8是最古老的PEP(Python Enhancement Proposal,PEP)之一,它向Python程序员提供了代码格式设置指南。PEP 8的篇幅很长,但大都与复杂的编码结构相关。
如果一定要在让代码易于编写和易于阅读之间做出选择,Python程序员几乎总是会选择后者。
很多Python程序员都建议每行不超过80字符。
PEP 8还建议注释的行长都不超过72字符,因为有些工具为大型项目自动生成文档时,会在每行注释开头添加格式化字符。
PEP 8中有关行长的指南并非不可逾越的红线,有些小组将最大行长设置为99字符。在学习期间,不用过多地考虑代码的行长,但别忘了,协作编写程序时,大家几乎都遵守PEP 8指南。在大多数编辑器中,都可设置一个视觉标志——通常是一条竖线,让你知道不能越过的界线在什么地方。
5 if语句 5.3.2 if-else 语句else 语句指定了条件测试未通过时要执行的操作。
5.3.3 if-elif-else 结构经常需要检查超过两个的情形,为此可使用Python提供的if-elif-else结构。
Python只执行if-elif-else结构中的一个代码块,它依次检查每个条件测试,直到遇到通过了的条件测试。
可根据需要使用任意数量的elif代码块:
age = 12 if age < 4: price = 0 elif age < 18: price = 5 elif age < 65: price = 10 else: price = 5 print("Your admission cost is $" + str(price) + ".") 5.3.5 省略else 代码块Python并不要求if-elif 结构后面必须有else 代码块。在有些情况下,else 代码块很有用;而在其他一些情况下,使用一条elif 语句来处理特定的情形更清晰。
age = 12 if age < 4: price = 0 elif age < 18: price = 5 elif age < 65: price = 10 elif age >= 65: price = 5 print("Your admission cost is $" + str(price) + ".")else 是一条包罗万象的语句,只要不满足任何if 或elif 中的条件测试,其中的代码就会执行,这可能会引入无效甚至恶意的数据。如果知道最终要测试的条件,应考虑使用一个elif 代码块来代替else 代码块。这样就可以肯定,仅当满足相应的条件时,代码才会执行。
6 字典可将任何Python对象用作字典中的值。
6.2.2 添加键-值对字典是一种动态结构,可随时在其中添加键-值对。要添加键-值对,可依次指定字典名、用方括号括起的键和相关联的值。
alien_0 = {\'color\': \'green\', \'points\': 5} print(alien_0) alien_0[\'x_position\'] = 0 alien_0[\'y_position\'] = 25 print(alien_0)输出:
{\'color\': \'green\', \'points\': 5} {\'color\': \'green\', \'points\': 5, \'x_position\': 0, \'y_position\': 25} 6.2.3 先创建一个空字典使用字典来存储用户提供的数据或在编写能自动生成大量键-值对的代码时,通常都需要先定义一个空字典。
6.2.4 修改字典中的值 alien_0 = {\'color\': \'green\'} print("The alien is " + alien_0[\'color\'] + ".") alien_0[\'color\'] = \'yellow\' # 修改值 print("The alien is now " + alien_0[\'color\'] + ".")输出:
The alien is green. The alien is now yellow. 6.2.5 删除键-值对可使用del 语句将相应的键-值对彻底删除,使用del 语句时,必须指定字典名和要删除的键。
alien_0 = {\'color\': \'green\', \'points\': 5} print(alien_0) del alien_0[\'points\'] print(alien_0)输出:
{\'color\': \'green\', \'points\': 5} {\'color\': \'green\'} 6.2.6 由类似对象组成的字典