函数的变量
局部变量:在函数中定义的变量一般只能在该函数内部使用,这种变量称为局部变量
全局变量:在一个文件顶部定义的变量可以供文件中的任何函数调用,这种变量称为全局变量
注意,函数只能对全局变量做 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 0
In [35]: print fun()
0
不指定则为空
In [36]: def fun():
...: x=1
In [37]: print fun()
None
return 后面就不在执行,执行完return表示已结束
In [38]: def fun(x,y):
...: return x + y
...: print 'aaa'
In [39]: print fun(3,4)
7
本文转自 jiekegz 51CTO博客,原文链接:http://blog.51cto.com/jacksoner/2057101