声明函数
def function(arguments):
statments
return x
x = function(para)
变量作用域
Python变量作用域的四种情况:
-
B:build-in 系统固定模块里面的变量,也叫系统变量,比如int
-
G:global 全局变量,也就是模块级别定义的变量
-
E:enclosing 嵌套的父级函数的局部作用域,就是包含此函数的上层函数的局部作用域
-
L:local 局部作用域,即为函数中定义的变量
-
例子,考虑X的变化:
X = 9
def f1():
#global X
#print X
X = 8
def f2():
#print 'In f2(), X is ', X
#X = 7
print 'In f2(), X is ',X
f2()
print 'In f1(), X is ', Xf1() print 'out f1(), X is ', X
参数
def f1(a, b=2, c=3):
print a,b,c
f1(1) //1 2 3
f1(1,5) //1 5 3
f1(1,3,5) //1 3 5
def f2(s, *args):
print s, args //args 无命名元组,任意长度参数
f2('233') //233 ()
f2('233', 0, 999, 'asd') //233 (0, 999, 'asd')
def f3(s, *args, **kargs):
print s, args, kargs //kargs 字典,可带变量名
f3(1,2,3,4,5,a=1,b=4,c=9) //1 (2, 3, 4, 5) {'a': 1, 'c': 9, 'b': 4}
f3(1,a=1,b=4,c=9) //1 () {'a': 1, 'c': 9, 'b': 4}
f3(a=1,b=4,c=9) //TypeError: f3() takes at least 1 argument (0 given)
网友评论