使用python的建议

本帖持续更新:

1、避免使用__del__

http://stackoverflow.com/questions/6104535/i-dont-understand-this-python-del-behaviour

 

2、在局部使用全局变量时使用global

python在运行函数的时候,首先会静态地扫一遍,

把所有变量(静态、没赋予实际的值)放入局部变量列表中,导致前面的引用失败。例如

bar = 1
def foo():
    print bar
    bar = 0

 

3、不要用可变的值作为参数默认值,可以用None代替

因为可变的值会在定义的时候初始化,然后就一直引用它了,

以后若这个可变的值发生改变,也导致这个默认值发生改变。例如

def foo(numbers=[]):
    numbers.append(1)
    print numbers

 foo()

[1]

foo()

[1,1]

 

 

你可能感兴趣的:(python)