一、如何定义函数:
函数是组织好的,可以重复使用的,用来实现一定功能的代码段。函数设计遵循单一职责原则,提倡一个函数只完成一个单一功能,降低程序的耦合性,提高可维护性。
2、python中函数定义:
def funName(parmerslist):
“函数__文档字符串”
函数体
return [表达式] #可选,没有这行相当于返回None.
3、python中函数的调用
funName() #如果()有参数的化,需要加入参数
4、函数参数的传递
1、基本参数的使用
def add(a,b):
#a+b=c
c=a+b
return c
#调用add
add(3,5) #传递的参数与定义的参数一一对应
2、默认参数的使用
def add(a,8): #注意:默认参数必须放在最后,不能放在前面
#a+b=c
c=a+b
return c
#调用add
add(3) #
3、不定参数的使用
def test(a,b,*loc,**args):
print(a+'\n\+b)
print(loc)
print(args)
#
test(11,22)
4、如果传人参数多于传统参数,则分如下两种情况:
(1)参数没有指定名称,以元组的形式存入var_args_tuple
(2)参数指定名称,以字典的形式存入var_args_dict
def test01(a,b,*loc,**args):
print(a)
print(b)
print(loc)
print(args)
#
test01(11,22,33,44,55,aa=66,bb=77,cc=88,dd=99)
结果如下:
11
22
(33,44,55)
{'aa':66,'bb':77,'cc':88,'dd':99}
5、python中函数返回值
使用return返回值,如果没有return相当于返回None
6、python闭包机制:
Python函数是支持嵌套的,如果在嵌套的内部函数中对外部函数作用域(非全局变量)的变量进行引用,外部函数有调用内部函数作为返回,这种现象称之为闭包。闭包需要满足3个条件:
(1)存在嵌套函数:(2)嵌套的内部函数引用了外部函数的变量。(3)嵌套的外部函数调用内部函数作为返回。
# 希望一次返回3个函数,分别计算1x1,2x2,3x3:
def count():
fs = []
for i in range(1, 4):
def f():
return i*i
fs.append(f)
return fs
f1, f2, f3 = count()
闭包的特点是返回的函数还引用了外层函数的局部变量,所以,要正确使用闭包,就要确保引用的局部变量在函数返回后不能变