python变量的生命周期,局部变量、全局变量基本与C语言差不多,唯一要注意的是:
python能改变变量作用域的代码段是def、class、lamda。
而语句块比如if/elif/else、try/except/finally、for/while 并不能改变量作用域。
a=111 #全局变量
def fun():
print(a)#全局变量
def fun2():
a = 222 #局部变量
b = 333 #局部变量
print(a)
def fun3():
a = a+1 # 注意,这里a并不是全局变量,相当于重新定义了局部变量
print(a)
def fun4():
global a # fun3的解决方案,表示a是全局的
a = a+1
print(a)
def fun5():
if True:
if True:
c=444 #局部变量
print(c) #可以访问局部变量c
class Animal(object): #自定义类
def __init__(self):
print("构造函数")
def __del__(self):
print("析构函数")
def fun6():
ani = Animal() #局