全局变量和局部变量

Code:
n,s=10,100 ##n,s为全局变量
def fact(n): ##fact()中的n和s为局部变量
s=1
for i in range (1,n+1):
s*=i
return s
print(fact(n),s) ##n和s为全局变量

输出结果为:3628800 100

使用规则(1):局部变量和全局变量是不同的变量。局部变量是函数内部的占位符,与全局变量可能重名但不同;函数运行结束后,局部变量会被释放掉,即不存在;我们也可以用global保留字在函数内部使用全局变量。

Code:
n,s=10,100 ##n,s为全局变量
def fact(n): ##fact()中的n为局部变量
global s ##指全局变量中的s
for i in range (1,n+1):
s*=i
return s ##指全局变量的s
print(fact(n),s) ##n和s为全局变量

输出结果为:362880000 362880000

使用规则(2):局部变量为组合数据类型且未创建,等同于全局变量
Code:
ls=["F","f"]
def func(a):
ls.append(a) ##此时ls是列表类型,未真实创建,则等同于全局变量
return
func("C") ##全局变量ls被修改
print(ls)

输出结果为:['F', 'f', 'C']

你可能感兴趣的:(全局变量和局部变量)