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))
使用装饰器
不使用装饰器,可读性非常差