1. 代码格式化
格式化指南:PEP 8
要点:
- 四个空格而不是Tab
- 变量命名:variable_name √ ,variableName or VariableName ×
- 避免无用的空格:‘good’: 42 √ 单引号和冒号中间无空格,冒号后要加一个空格
学会使用Linter工具,pylint
类型提示 错误提示等
pip install pylint
三引号
python中的三引号可以创建多行文本字符串,但是如果没有传入参数或者变量,就会变成有效的多行注释。如果放到函数体顶部就会变成文档字符串,可以作为代码的智能提示显示给用户。
2. 匿名函数 Lambda
# 对presenters排序,用name还是age,sort()迷惑
presenters = [
{'name': 'Susan', 'age': 50},
{'name': 'Yamy', 'age': 25}
]
presenters.sort()
print(presenters)
# 输出结果:
TypeError: '<' not supported between instances of 'dict' and 'dict'
# 改进,用name排序
def sorter(item):
return item['name']
presenters = [
{'name': 'Susan', 'age': 50},
{'name': 'Yamy', 'age': 25}
]
presenters.sort(key=sorter)
print(presenters)
# 输出结果:
[{'name': 'Susan', 'age': 50}, {'name': 'Yamy', 'age': 25}]
# 用匿名函数,以name排序
presenters = [
{'name': 'Susan', 'age': 50},
{'name': 'Yamy', 'age': 25}
]
presenters.sort(key=lambda item: item['name'])
print(presenters)
# 输出结果:
[{'name': 'Susan', 'age': 50}, {'name': 'Yamy', 'age': 25}]
# 以name的长度排序
presenters = [
{'name': 'Susan', 'age': 50},
{'name': 'Yamy', 'age': 25}
]
presenters.sort(key=lambda item: len(item['name']))
print(presenters)
#
[{'name': 'Yamy', 'age': 25}, {'name': 'Susan', 'age': 50}]
3. 类
类定义数据结构和行为,使用类可以创建可复用的组建以及将数据和操作组合在一起
类是名词,属性或作用域是形容词,方法是动词、行为。
创建类
在Python中类的命名习惯用PascalCasing命名法,即驼峰命名法。
类中的构造函数,是创建实例的地方:__init__(self, 其它我们需要的附加参数)
第一个参数为self,能使我访问到对象的当前实例。
使用类
Python的可访问性
单下划线:避免使用,除非你知道在做什么并且愿意承担相应的风险
双下划线:不可使用