收藏,Python 开发中有哪些高级技巧?
2019-04-13 本文已影响3人
我爱学python
Python 开发中有哪些高级技巧?这是知乎上一个问题,我总结了一些常见的技巧在这里,可能谈不上多高级,但掌握这些至少可以让你的代码看起来 Pythonic 一点。如果你还在按照类C语言的那套风格来写的话,在 code review 恐怕会要被吐槽了。
列表推导式

字典推导式

集合推导式

合并字典

复制列表

反转列表

PACKING / UNPACKING
变量交换

高级拆包

或者

函数返回多个值(其实是自动packing成元组)然后unpacking赋值给4个变量

列表合并成字符串

链式比较

yield from

in 代替 or

字典代替多个if else

有下标索引的枚举

生成器
注意区分列表推导式,生成器效率更高

默认字典 defaultdict

字符串格式化

列表中出现次数最多的元素

读写文件

判断对象类型,可指定多个类型

类似的还有字符串的 startswith,endswith

__str__ 与 __repr__ 区别

前者对人友好,可读性更强,后者对计算机友好,支持 obj == eval(repr(obj))
使用装饰器

不使用装饰器,可读性非常差
