Python-函数
函数
函数式编程
将功能代码封装到函数中,无序重复编写,调用函数即可
增强代码的重用性和可读性
函数定义
def 函数名(参数):
""" 函数体 """ 返回值
def:表示函数的关键字
函数名:函数的名称,调用函数时使用函数名()
函数体:很多语句
参数:为函数体提供数据
返回值:函数执行完毕后,给调用者返回的数据。
关于参数
定义函数时,(参数)中的参数为形式参数,简称:形参
def func(args): # args为形参 pass
调用函数时,(参数)中的参数为实际参数,简称:实参
func("alex") # "alex"为实参
调用函数式,实际参数赋值给形式参数,指向同一个值。
def func(args): print(args) func("alex") #执行结果:alex
函数有三种类型的参数:
普通参数
上述例子为普通函数
默认参数
默认参数必须是最后一个参数
def func(name , age = 18): print(name , age) func("alex") #执行结果:alex,18
func("eric" ,19") #执行结果:eric,19
动态参数
*变量名:函数的参数是元祖;
将接收到的实际参数,作为元祖的元素;
以*标示实际参数,传入时,将实际参数的每个元素作为元祖的元素
def func(*args): print(args) # 执行方式一 func(11, 33, 4, 4454, 5) #执行结果: # (11, 33, 4, 4454, 5) # 执行方式二 tmp = "abcd" li = [11, 2, 2, 3, 3, 4, 54] li2 = ["11","22","33"] func(*tmp) #执行结果: # ('a', 'b', 'c', 'd') func(li,li2) #执行结果: # ([11, 2, 2, 3, 3, 4, 54], ['11', '22', '33']) func(li,*li2) #执行结果: # ([11, 2, 2, 3, 3, 4, 54], '11', '22', '33')
**变量名:函数的参数是字典;
def func(**kwargs): print(kwargs) #执行方式一 func(k1="v1") #执行结果: {'k1': 'v1'} #执行方式二 dic = {"k2":"v2","k3":"v3"} func(**dic) #执行结果: {'k3': 'v3', 'k2': 'v2'}
*变量名,**变量名:可满足所有参数传递需要
def func(*args,**kwargs): pass
lambda表达式: 匿名函数;只是个表达式
#无参数 func = lambda : print(1+2) func() #打印:3 func = lambda: 1+2 num = func() print(num) #打印:3 #有参数 func = lambda n1,n2: n1+n2 tmp = func(1,2) print(tmp) #打印:3 tmp = func("a","b") print(tmp) #打印:ab

浙公网安备 33010602011771号