建议1:理解pythonic的概念
python之禅
优美胜于丑陋(Python 以编写优美的代码为目标)
明了胜于晦涩(优美的代码应当是明了的,命名规范,风格相似)
简洁胜于复杂(优美的代码应当是简洁的,不要有复杂的内部实现)
复杂胜于凌乱(如果复杂不可避免,那代码间也不能有难懂的关系,要保持接口简洁)
扁平胜于嵌套(优美的代码应当是扁平的,不能有太多的嵌套)
间隔胜于紧凑(优美的代码有适当的间隔,不要奢望一行代码解决问题)
可读性很重要(优美的代码是可读的)
即便假借特例的实用性之名,也不可违背这些规则(这些规则至高无上)
不要包容所有错误,除非你确定需要这样做(精准地捕获异常,不写 except:pass 风格的代码)
当存在多种可能,不要尝试去猜测
而是尽量找一种,最好是唯一一种明显的解决方案(如果不确定,就用穷举法)
虽然这并不容易,因为你不是 Python 之父(这里的 Dutch 是指 Guido )
做也许好过不做,但不假思索就动手还不如不做(动手之前要细思量)
如果你无法向人描述你的方案,那肯定不是一个好方案;反之亦然(方案测评标准)
命名空间是一种绝妙的理念,我们应当多加利用(倡导与号召)
python实现快速排序方式
def px(px1):
l=[];g=[]
if len(px1)<=1:
return px1
pivot=px1.pop()
for x in px1:
if x<=pivot:l.ppaned(x)
else:g.append(x)
retu8rn px(l+[pivot]+px(g))
px([])
代码风格
(packaging/unpackaging)机制,如下
a,b=b,a(变量交换)
遍历容量
for i in list:pass
迭代器使用,如下
with open(a.txt) as f:
f.read()
python的slice(切片)方式
a=[1,2,3,4]
print a[0],a[-1],a[0::],a[::-1],a[0::2]
利用python内置方法进行操作
print list(reversed(a))
字符串格式化
‘name=%s,year=%s‘%(‘01‘,‘1990‘)
字典格式
value={‘a‘:1,‘b‘:2}
print ‘%(a)s and %(b)s‘%(value)
高效格式化
‘{0} and {1} and {2}‘.format(1,2,3)
python库或者框架
from flask import Flaskapp=Flask(__name__)@app.route(‘/‘)def hello(): return ‘hello‘if __name__==‘__main__‘: app.run()