python学习笔记——函数的使用续
1. 函数对变量的作用
一个程序中的变量包括两类: 全局变量和局部变量。全局变最指在函数之外定义的变量,一般没有缩进, 在程序执行全过程有效。局部变量指在函数内部使用的变量,仅在函数内部有效,当函数退出时变量将不存在。
1.例子(1)
n = 1
>>> def func(a,b):
c =a*b
return c
>>> s = func("dream",2)
>>> print(s,n)
dreamdream 1 #由此看见n这个全局变量没有改变
>>> print(c)
Traceback (most recent call last): #出现错误,由此看见局部变量在函数执行完退出后就被释放
File "<pyshell#7>", line 1, in <module>
print(c)
NameError: name 'c' is not defined
1.例子(2)
>>> n = 3
>>> def func(a,b):
n = b
return a*b
>>> s = func("dream",2)
>>> print(s,n)
dreamdream 3
函数内部使用了变量n,并且将变量参数b赋值给变量n,但是我们发现,n值并没有发生改变。因为函数有自己的内存空间,它只将n=b语句理解为**生成一个局部变量,并将参数b赋值给它,此时函数并为将n当作全局变量。**所以,函数退出后,局部变量n被释放,所以n的值并没有发生改变。
1.例子(3)
如果想让函数将n当作全局变量,那么就要在变量n使用前,申明该显式为全局变量,代码如下:
>>> n = 1
>>> def func(a,b):
global n
n = b
return a*b
>>> s = func("dream",2)
>>>