建议1:Pythonic概念(美胜丑,显胜隐,简胜杂,平胜抖,疏胜密)
print 'my name is {name}, age={age}'.format(name='hydo',age=18) //python最推荐的字符串格式化方法
建议2:编写Pythonic代码
1.避免只用大小写来区分不同的对象:a=1,A='hydo'
2.避免使用容易引起混淆的名称:误用内建名称来命名变量,比如with codesc.open('filePath', 'r') as file,其中file是python的关键字,用小写字母o与数值0、小写字母l与数值1混淆
3.不要害怕过长的变量名
建议3:理解Python与C语言的不同之处
1.冒号Tab缩进与{ }:慎用tab键,小心unexpected indent
2.单引号''与双引号"":C语言或Java中单引号代表一个字符,双引号代表字符串,Python里面没有明显的区别
3.三元操作符:C?X:Y 等价于Python的 X if C else Y
4.swith case:Python不支持,用if else代替
建议4:在代码中适当添加注释
Python中三种形式的代码注释:块注释、行注释、文档注释
建议5:通过适当添加空行使代码布局更为优雅
1.在一组代码表达完一个完整的思路之后,应该用空白行进行间隔,通俗的讲就是不要在一段代码中说明几件事
2.避免过长的代码行,每行最好不要超过80个字符,以不需要拖动滚动条而显示所有代码为最佳,超过部分可以用圆括号、方括号、花括号进行连接,并保持行连接的元素垂直对齐
3.不要为了保持水平对齐而使用多余的空格,空格的使用能够在需要强调的时候警示读者,在疏松关系起到分隔作用,在紧密关系的时候不要使用空格,比如二元、布尔运算符左右两边加空格;逗号分号前不用留空格;
推荐样例 if x == 4: print x, y; x, y = y, x
建议6:编写函数的4个原则
1.函数设计要尽量短小,嵌套层次不宜过深,这样就不用上下拉滚动条就能获得整体感观,不用为了寻找某个变量来回翻动
2.函数申明应做到合理简单易于使用,除了函数名反应大体功能外,参数不宜过多,对调用者和测试人员增加难度
3.函数的参数设计应该考虑向下兼容,添加默认参数
4.一个函数只做一件事,保证函数语句粒度的一致性,这样也保证代码的重用
建议7:将常量集中到一个文件
1.通过命名风格提醒使用者该变量是常量,如所有字母大写,用下划线连接各个单词(对应值还可以变,不是真正的常量)
2.通过自定义的类实现常量功能,这要求符合命名全部大写和值一旦绑定便不可再修改两个条件
建议8:利用assert语句来发现问题
assert 1 == 2, "not equals"
建议9:数据交换值的时候不推荐使用中间变量
Pythonic写法:x, y = y, x
建议10:充分利用Lazy evaluation的特性
Lazy evaluation叫延迟计算或惰性计算,指的是真正需要执行的时候才计算,延迟计算的两个好处:
1.避免不必要的计算,比如if x or y,x为True,y就不执行,同理if x and y,x为False,y不执行,所以在if中用条件表达式的时候,把表达式为True可能性较高的写在or的前面,把为False可能性较高的写在and的前面
2.节省空间,使得无限循环的数据结构成为可能,Python里面最典型的就是生成器,每次用yield返回下一个元素
-----------------P33------等待完善-----------------------------------------------------