本文共 1114 字,大约阅读时间需要 3 分钟。
局部变量:在函数中定义的变量一般只能在该函数内部使用,这种变量称为局部变量
全局变量:在一个文件顶部定义的变量可以供文件中的任何函数调用,这种变量称为全局变量
注意,函数只能对全局变量做 print 操作,如果要做其他操作要用 global 声明是全局变量,同理,如果要在函数外部使用函数内部的全局变量也是用 global 来声明是全局变量
x=1 #全局变量 def fun(): x=2 #局部变量 print x fun() print x结果:fun()输出为2 ,print 为1
全局变量global:
x=1 def fun(): global x x=3 print x fun() print x结果都是3
2、locals() 函数可以以字典的方式打印出所有的变量
a = 1 b = 2 def fun(): x = 1 y = 2 print locals() # locals()定义在函数内,会打印出函数内部的变量(局部变量)fun()
print locals() # locals()定义在函数外,会打印出整个程序所有的变量结果:{'y': 2, 'x': 1}
{'a': 1, 'b': 2, 'builtins': <module 'builtin' (built-in)>, 'file': 'F:/python2018/\xbd\xf8\xbd\xd7\xc1\xb7\xcf\xb0/fun/3.py', 'package': None, 'fun': <function fun at 0x000000000257BAC8>, 'name': 'main', 'doc': None}函数被调用后默认会返回一个指定的值,如果没有指定值,则返回 None ,我们可以用 return 来指定返回值,return 执行后函数终止
In [34]: def fun(): ...: return 0In [35]: print fun()
0不指定则为空
In [36]: def fun(): ...: x=1In [37]: print fun()
Nonereturn 后面就不在执行,执行完return表示已结束
In [38]: def fun(x,y): ...: return x + y ...: print 'aaa'In [39]: print fun(3,4)
7