1、python哲学:优雅、明确、简单
2、单行注释:#
多行:'''xxx'''
3、脚本
#!/usr/bin/env python
#-*- coding: utf-8 -*-
使文件可导入:
df main():
...
if __main__ == "main":
main()
脚本传入的参数:sys.argv
4、字符串拼接:
+,或者放到一起
'%s,%s' % (a,b)
'###'.join(['a','b'])
避免在循环中用+或+=,可以将每个子串加入列表,然后join
5、记录运行时间:
import timeit
print timeit.timeit(func1_test,'from __main__ import func1')
6、True/False
- 不用==或!=来比较单例,比如None,使用is 或者 is not
- 不用==讲一个布尔值与false相比较,使用if not x 代替;如果你需要区分false和None,你应该实用if not x and x is not None
- 对于序列(字符串、列表、元组),if not seq后者if seq,比if not len(seq) 或者if len(seq)好
- ‘0’会被认为true
7、多线程
优先使用queue模块的Queue作为线程间的数据通信方式;
使用threading模块及锁原语。
了解条件变量的合适使用方式,这样你就可以使用threading.Condition来取代低级别的锁了。
8、编码格式:
不要在逗号、分号、冒号前面加空格,但应该在它们后面加
在二元操作符两边都要加上一个空格;当=用于指示关键字参数或默认参数值时,不要在其两侧使用空格
9、使用with语句以管理文件:
with open("hello") as hello_file:
对于不支持使用with的类似文件的对象,使用contextlib.closing()
import contextlib
with contextlib.closing(urllib.urlopen("")) as front_page:
10、画图
fig,axes=plt.subplots(nrows=2,ncols=1,figsize=(12,7))
series.plot(style='ko-',ax=axes[0])