改善python程序的建议[转]】的更多相关文章

原文发表在我的博客主页,转载请注明出处! 建议二十八:区别对待可变对象和不可变对象 python中一切皆对象,每一个对象都有一个唯一的标识符(id()).类型(type())以及值,对象根据其值能否修改分为可变对象和不可变对象,其中数字.字符串.元组属于不可变对象,字典以及列表.字节数组属于可变对象. 来看一段程序: class Student(object): def __init__(self,name,course=[]): self.name = name self.course = c…
原文发表在我的博客主页,转载请注明出处! 建议四十一:一般情况下使用ElementTree解析XML python中解析XML文件最广为人知的两个模块是xml.dom.minidom和xml.sax,作为主要解析XML方法的两种实现,DOM需要将整个XML文件加载到内存中并解析为一棵树,简单但是内存消耗大:SAX是基于事件驱动的,虽不需要全部装入XML文件,但是处理过程复杂.一般情况下选择ElementTree便可以,cElementTree是其Cython实现,速度更快,消耗内存更少,性能上更…
<编写高质量代码 改善Python程序的91个建议> <编写高质量代码 改善Python程序的91个建议>读后程序学习小结 - BigDeng_2014的专栏 - CSDN博客 # coding=utf-8 # Language Reference ''' 参考书:<编写高质量代码 改善Python程序的91个建议>张颖,赖勇浩 著 2014.6 ''' from __future__ import with_statement # assert x, y = 1, 1…
原文发表在我的博客主页,转载请注明出处! 建议三十四:掌握字符串的基本用法 编程有两件事,一件是处理数值,另一件是处理字符串,在商业应用编程来说,处理字符串的代码超过八成,所以需要重点掌握. 首先有个小技巧,python遇到未闭合的小括号时会自动将多行代码拼接为一行,同时把相邻的两个字符串字面量拼接再议,比如下面的两个代码是等价的. s = ('SELECT *' 'FROM atable' 'WHERE afield = "value"') 'SELECT *FROM atableW…
原文发表在我的博客主页,转载请注明出处! 建议二十三:遵循异常处理的几点基本原则 python中常用的异常处理语法是try.except.else.finally,它们可以有多种组合,语法形式如下: try: <statements> # Run the main action first except <name1>: <statements> # 当try中发生name1的异常时处理 except <name2, name3>: <statemen…
原文发表在我的博客主页,转载请注明出处! 建议十八:有节制的使用from...import语句 python提供了三种方式引入外部模块: import语句 from...import... __import__函数 使用的时候需要注意以下几点: 一般情况下尽量优先使用import a形式,如访问B时需要使用a.B的形式 有节制地使用from a import B形式,可以直接访问B 尽量避免使用from a import *,因为这会污染命名空间,并且无法清晰地表示导入了哪些对象 首先简单的了解…
原文发表在我的博客主页,转载请注明出处! 建议十三:警惕eval()的安全漏洞 相信经常处理文本数据的同学对eval()一定是欲罢不能,他的使用非常简单: eval("1+1==2") #进行判断 eval("'A'+'B'") #字符连接 eval("1+2") #数字相加 python中eval()函数将字符串str当成有效的表达式来求值并返回计算结果,其函数声明如下: eval(expression[, globals[,locals]])…
原文发表在我的博客主页,转载请注明出处! 建议七:利用assert语句来发现问题断言(assert)在很多语言中都存在,它主要为调试程序服务,能够快速方便地检查程序的异常或者发现不恰当的输入等,可防止意想不到的情况出现.其语法如下: assert expression1 ["," expression2] 其中expression1的值会返回True或者False,当值为False的时候会引发AssertionError,而expression2是可选的,常用来传递具体的异常信息. 不…
原文发表在我的博客主页,转载请注明出处! 初衷 python是一个入门十分容易的编程语言,但是想要写好python却是一件不容易的事情,如果不是专业使用python的人,只是将python作为一个脚本语言或者用来处理数据,到了掌握基本的语法之后,便不再寻求进步.但是相信每个学习python的人都知道pythonic这个单词,这个词语很难定义,全靠心领神会,但大家心中都认同Tim Peters的<The Zen of Python>中提到的几点: 美胜丑,显胜隐,简胜杂,杂胜乱,平胜陡,疏胜密…
自己写Python也有四五年了,一直是用自己的"强迫症"在维持自己代码的质量.都有去看Google的Python代码规范,对这几年的工作经验,做个简单的笔记,如果你也在学pythpn,准备要学习python,希望这篇文章对你有用. 首先 建议1.理解Pythonic概念--详见Python中的<Python之禅> 建议2.编写Pythonic代码 (1)避免不规范代码,比如只用大小写区分变量.使用容易混淆的变量名.害怕过长变量名等.有时候长的变量名会使代码更加具有可读性.…