语法 #
range vs xrange #
range 是直接返回一个保存全量数据的 list, 空间复杂度是 O(n),
而 xrange 是在遍历中不断生成的,遍历的效率更高,而且空间复杂度是 O(1)
python3 取消了 xrange,range 就是 xrange
<type ‘xrange’> #
iteritems vs viewitems #
<type ‘dict_items’> #
<type ‘dictionary-valueiterator’> #
变量 #
全局变量 #
a = 3
def func():
print(a)
func()
在 Python 中,a=3 定义了全局变量 a,作用域从定义处到代码结束,在 a=3 以下的函数中是可以引用全局变量 a 的。
但如果要修改函数中与全局变量同名的变量,则函数中的该变量就会变成局部变量, 在修改之前对该变量的引用自然会出现未分配或未定义的错误了。
a = 3
def func():
# 如果确定要引用并修改全局变量必须加上 global 关键字
global a
print (a)
a=a+1
func()
尾递归 #
Python 解释器不支持尾递归优化
参考:
叶王 © 2013-2024 版权所有。如果本文档对你有所帮助,可以请作者喝饮料。