改善 Python 程序的 91 个建议】的更多相关文章

编写高质量代码:改善Python程序的91个建议  http://book.douban.com/subject/25910544/ 1.(建议16)is 用于判断两个对象的id是否相等,==才是判断值是否相等 2.(建议23)for,while,和try语句后面都可以跟else语句,可以简化代码 3.(建议18) __init__.py模块可以写代码,import时只需要 import 包(文件夹) 4.(建议19)用import a 而不是 from a import b ,可以避免嵌套导入…
读了一本还不错的书「编写高质量代码改善 Python 程序的 91 个建议」,大多数的建议是真心不错,我虽然写python也有3年多了,但是有些地方确实没去注意过,特地整理了一下,给大家参考. 我已经打包好了一份电子书,有兴趣的可以关注公众号:Python专栏.后台回复:91个建议,获取该电子书. 1.引论 建议1:理解Pythonic概念--详见Python中的<Python之禅> 建议2:编写Pythonic代码 避免不规范代码,比如只用大小写区分变量.使用容易混淆的变量名.害怕过长变量名…
推荐 <改善Pthon程序的91个建议>是从基本原则.惯用方法.语法.库.设计模式.内部机制.开发工具和性能优化8个方面深入探讨编写高质量python代码的技巧.禁忌和最佳实践. 读书就如同和作者对话,阅读本书可以感觉的到作者是一个实战经验丰富的Pythoner,与高手对话受益匪浅.对于一个想要提高自己python代码的coder来说值得一读的. 边读书边记录,把我认为重要的建议记录下来,20个左右,希望更多人能从中获益. 引论 建议5:通过适当添加空行使代码布局更为优雅合理 在函数定义或者类…
此书是自己好久之前买的,当时总觉得Python语言中有各种trick, 总是要自己猝不及防的掉入到陷阱之中, 看了一些资料后发现了这本书,感觉很是不错,不过可惜自己平时总是杂事太多,总是找不到整块的时间把这本书看完.现在正好赶上自己放寒假,这也是到了新单位后的第一个假期,BOSS说工作学习要靠自己自觉,不过不管怎么说我总是属于不太自觉的那个类型的,于是开启了小差,这也顺路把这本压箱底的书翻了出来,以下记录一些自己觉得自己平时没有注意到的小问题,有选择的记录到下面,也算是读书的小笔记,供自己日后翻…
建议1.理解Pythonic概念—-详见Python中的<Python之禅> 建议2.编写Pythonic代码 (1)避免不规范代码,比如只用大小写区分变量.使用容易混淆的变量名.害怕过长变量名等.有时候长的变量名会使代码更加具有可读性. (2)深入学习Python相关知识,比如语言特性.库特性等,比如Python演变过程等.深入学习一两个业内公认的Pythonic的代码库,比如Flask等. 建议3:理解Python与C的不同之处,比如缩进与{},单引号双引号,三元操作符?,Switch-C…
1.引论 建议1:理解Pythonic概念—-详见Python中的<Python之禅> 建议2:编写Pythonic代码 避免不规范代码,比如只用大小写区分变量.使用容易混淆的变量名.害怕过长变量名等.有时候长的变量名会使代码更加具有可读性. 深入学习Python相关知识,比如语言特性.库特性等,比如Python演变过程等.深入学习一两个业内公认的Pythonic的代码库,比如Flask等. 建议3:理解Python与C的不同之处,比如缩进与{},单引号双引号,三元操作符,Switch-Cas…
  第一章 引论 建议写Pythonic式的代码,我理解为充分利用pythonAPI,用最简洁方式写出代码 1.两个变量交换: a, b = b, a 2.翻转list: a = [1, 2, 3, 4] print(list(reversed(a))) 3.格式化字符串 .format print ( 'my name is {} '.format('jack')) 3.6版本新的格式化字符串方法 name = 'Mollylin' print(f'hello,{name}~!') >>&g…
1.理解Pythonic概念 Pythonic Tim Peters 的 <The Zen of Python>相信学过 Python 的都耳熟能详,在交互式环境中输入import this可以查看,其实有意思的是这段 Python 之禅的源码: d = {} for c in (65, 97): for i in range(26): d[chr(i+c)] = chr((i+13) % 26 + c) print "".join([d.get(c, c) for c i…
   62.metaclass stackflow          中文翻译    63.Python对象协议   https://zhuanlan.zhihu.com/p/26760180      65.Python的迭代器协议 iter(可迭代对象)-->返回迭代器iterator 调用:调用一次返回一个元素,当最后一个元素返回后,再次调用时,抛出StopIteration 异常 iterator.__next__() 或 next(iterator) 设计可迭代对象 上面的看起来没意义…
原文发表在我的博客主页,转载请注明出处! 建议二十八:区别对待可变对象和不可变对象 python中一切皆对象,每一个对象都有一个唯一的标识符(id()).类型(type())以及值,对象根据其值能否修改分为可变对象和不可变对象,其中数字.字符串.元组属于不可变对象,字典以及列表.字节数组属于可变对象. 来看一段程序: class Student(object): def __init__(self,name,course=[]): self.name = name self.course = c…