Pythonic-改善Python程序的91个建议-笔记

建议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------等待完善-----------------------------------------------------

你可能感兴趣的:(Python)