pythonic形式
内容形式、排版等可以查看PEP8规范。在Pycharm中写代码,会有智能提示。
类名可以使用驼峰,当在首字母大写的风格中用到缩写时,所有缩写的字母用大写,HTTPServerError。模块内部使用的类采用_CapWords的方式。
函数和变量,小写,为了可读性,可以使用下划线分割。
如何使用pycharm,根据PEP自动更新代码?
Autopep8是自动将Python代码格式化为符合PEP 8风格的工具。
pip install autopep8 autopep8 --in-place --aggressive file.py
在pycharm的external tool中添加autopep8使用,也可以在terminal中运行。
Pycharm使用技
alt+enter,智能修改warnning等报错;
使用 # todo 注释,可以在todo tool中罗列所有的待完善部分;
ctrl+点击函数、变量可以查看定义;
迭代相关
判断变量是否可迭代
>>> from collections import Iterable
>>> isinstance('abc', Iterable) # str是否可迭代
字典和list的迭代
for item in dict.items() dict.keys() dict.values() enumrate(list):
suite
如何创建生成器?
如何创建迭代器?
迭代器可以在for-in中使用,也可以使用next函数,终止时抛出stopiteration异常。
list等是iterable,但不是iterator,不能作为next的参数。
>>> from collections import Iterable
>>> isinstance('abc', Iterable)
True
>>> isinstance(iter([]), Iterator)
True
可以通过实现迭代器协议,自定义迭代器。