Python--如何组织项目
2013-11-23 23:27
381 查看
Very bad [...] from modu import * [...] x = sqrt(4) # Is sqrt part of modu? A builtin? Defined above? Better from modu import sqrt [...] x = sqrt(4) # sqrt may be part of modu, if not redefined in between Best import modu [...] x = modu.sqrt(4) # sqrt is visibly part of modu's namespace
Bad # create a concatenated string from 0 to 19 (e.g. "012..1819") nums = "" for n in range(20): nums += str(n) # slow and inefficient print nums Good # create a concatenated string from 0 to 19 (e.g. "012..1819") nums = [] for n in range(20): nums.append(str(n)) print "".join(nums) # much more efficient Best # create a concatenated string from 0 to 19 (e.g. "012..1819") nums = [str(n) for n in range(20)] print "".join(nums)
foo = 'foo' bar = 'bar' foobar = foo + bar # This is good foo += 'ooo' # This is bad, instead you should do: foo = ''.join([foo, 'ooo'])
Note:
You can also use the % formatting operator to concatenate a pre-determined number
of strings besides str.join() and +. However, according to PEP 3101, the % operator became
deprecated in Python 3.1 and will be replaced by the str.format() method in the later versions.
foo = 'foo' bar = 'bar' foobar = '%s%s' % (foo, bar) # It is OK foobar = '{0}{1}'.format(foo, bar) # It is better foobar = '{foo}{bar}'.format(foo=foo, bar=bar) # It is best
相关文章推荐
- python学习四(处理数据)
- Python String和PyQt QString的区别(转载)
- python3.3 学习
- Python之美[从菜鸟到高手]--urllib源码分析
- Python中的魔法方法
- 【Python】用Numpy扩充数组元素之repeat和tile
- python
- python 3.x 2.x 区别
- python的nltk中文使用和学习资料汇总帮你入门提高
- python操作MySQL数据库
- python操作Excel读写--使用xlrd
- python 文件操作
- Python的字典操作
- 用正则式判断URL是否合法-python
- python 列表函数
- python的string的操作函数
- python学习三(数据保存到文件)
- Python学习记录
- python实现无限精度除法运算
- Python的Lambda表达式