Python 之禅之中有这样几句话:html
优美胜于丑陋(Python 以编写优美的代码为目标)
明了胜于晦涩(优美的代码应当是明了的,命名规范,风格类似)
简洁胜于复杂(优美的代码应当是简洁的,不要有复杂的内部实现)
复杂胜于凌乱(若是复杂不可避免,那代码间也不能有难懂的关系,要保持接口简洁)
扁平胜于嵌套(优美的代码应当是扁平的,不能有太多的嵌套)
间隔胜于紧凑(优美的代码有适当的间隔,不要奢望一行代码解决问题)
可读性很重要(优美的代码是可读的)
我想这应该能够大体解释一下 Pythonic 了。以前我在学习和写 Python 的时候, 都是在用我当初写 Java 的那些东西。丝毫没有一点 Python 特有的感受, 感受就像在写 Java 代码,只不过在使用 Python 的 语法复制一遍,直到今天我看见了这样的Pythonic。明白了这才是 Python 。app
Python 快排。学习
1 def quick_sort(array): 2 if len(array) <=1: 3 return array 4 left, right = [], [] 5 avg = array.pop() 6 for x in array: 7 if x >= avg: 8 right.append(x) 9 else: 10 left.append(x) 11 return quick_sort(left) + [avg] + quick_sort(right)
在对比一下我以前写的快排 https://www.cnblogs.com/JulyShine/articles/10017886.html 。四个字, 不忍卒读,感受本身就是个傻子,在交换两个数时,我这样写的:ui
交换 a, b test = a a = b b = test Pythonic: a, b = b, a .....
唉, 我脑袋疼。。。,历来没想到过啊。。。spa
ps:code
学无止境,且行且珍惜, 与君共勉!htm