最近在准备Python计算机二级,复习嵩天老师的《Python语言程序设计基础》,第5章中看到函数对变量这部分知识,但是对于初学者没有例子显得很难理解,但是不懂的话选择题很难做对,所以本文用最最简单的代码“翻译”了这段话。
1.简单数据类型变量无论是否与全局变量重名,仅在函数内部创建和使用,函数退出后被释放,如有全局同名变量,其值不变。
a = 1
def test1():
a = 2
test1()
print(a)
#输出结果为1
2.简单数据类型变量在用global保留字声明后,作为全局变量使用,函数退出后该变量保留且值被函数改变。
b = 1
def test2():
global b
b = 2
test2()
print(b)
#输出结果为2
3.对于组合数据类型的全局变量,如果在函数内部没有被真实创建的同名变量,则函数内部可以直接使用并修改全局变量的值。
la=[1,2,3,4,5]
def test3():
la.append(6)
test3()
print(la)
#输出结果为[1,2,3,4,5,6]
4.如果函数内部真实创建了组合数据类型变量,无论是否有同名全局变量,函数仅对局部变量进行操作,函数退出后局部变量被释放,全局变量值不变。
ls=[1,2,3,4,5]
def test4():
ls=[5,4,3,2,1]
test4()
print(ls)
#输出结果为[1,2,3,4,5]
应该清楚多了!