- 全局变量输出
1
2
3
4
5
6
7x = 2
def funcx():
x = 9
print "this x is in the funcx:-->", x
funcx()
print "--------------------------"
print "this x is out of funcx:-->", x
1 | this x is in the funcx:--> 9 |
在函数内多了一个global x,这句话的意思是在声明x是全局变量,也就是说这个x跟函数外面的那个x是同一个,接下来通过x=9将x的引用对象变成了9
1 | x = 2 |
输出
1 | this x is in the funcx:--> 9 |
- 当函数的参数个数不确定的时候,可以通过如下方法结果为
1
2
3
4
5
6
7
8def func(x,*arg):
print(x)
result = x
print(arg)
for i in arg:
result += i
return result
print(func(1,2,3,4,5,6,7,8,9))
1 | 1 |
从上面例子可以看出,如果输入的参数个数不确定,其他参数全部通过*arg,以元组的形式由arg收集起来。
- 更优(zhuang)雅(b)的方式
1 | >>> def add(x, y): |
1 | >>> bars = (2, 3) |
先把要传的值放到元组中,赋值给一个变量bars,然后用add(bars)的方式,把值传到函数内。注意,元组中元素的个数要跟函数所要求的变量个数一致。使用一个星号,以元组形式传值,用**的方式,是以字典的形式传值。
- 几个特殊函数,filter、map、reduce、lambda、yield……
- 函数尽量达到的要求
1 尽量不要使用全局变量。
2 如果参数是可变类型数据,则在函数内不要修改它。
3 每个函数的功能和目标要单纯,不要试图一个函数做很多事情。
4 函数的代码行数尽量少。
5 函数的独立性越强越好,不要跟其他的外部东西产生关联。
以上。
注:转载文章请注明出处,谢谢~