一、函数参数
1、匹配
(1)按照定义时候的位置进行匹配
def func(a,b,c):
print(a,b,c)
func(c=1,a=2,b=3)
返回的值为2 3 1
(2)按照关键字匹配
(3)按照默认值匹配(调用时省略传值)
def func(a,b =2,c =3):
print(a,b,c)
func(1)
返回的值为1 2 3
(4)args 任意数量参数(单个表示接受多个参数,传的是元组)
def func(a,b =2,c =3):
print(a,b,c)
func(1,c =5)
返回的值为1 2 5
求平均数
ef avg(*scores): #*scores表示后面可能还有很多个分数
return sum(scores) /len(scores)
result =avg(98.2,88.1,70,65)
print(result)
返回的值为80.325
已有一组分数在传的时候需要解包
def avg(*scores):
return sum(scores) /len(scores)
scores = (88,89,90)
result =avg(*scores) #*scores表示将scores = (88,89,90)解包为一个个分数回传
print(result)
返回的值为89.0
(5)**kwargs表示多个键值对,传的是字典表
def display(**employee):
print(employee)
display(name =‘tom’,age =22,job =‘dev’)
返回的值为
{‘name’: ‘tom’, ‘age’: 22, ‘job’: ‘dev’}
—————————————————————————————
emp ={‘name’:‘tom’,‘age’:22,‘job’:‘dev’}
def display(**employee):
print(employee)
display(**emp) #**emp表示将emp解包逐个回传
二、函数——Lambda表达式
(1)Lambda表达式即定义匿名函数,不写函数的名称,直接定义函数的参数
(2)基本格式lambda 参数1,…:函数
f = lambda name:print(name)
f2 = lambda x,y:x+y
f(‘tom’)
print(f2(5,3))
返回值为tom,8
—————————————————————————————
def hello_chinese(name):
print(‘你好:’,name)
def hello_english(name):
print(‘hello:’,name)
hello =hello_chinese #将函数委托给hello
hello(‘tom’)
返回值为你好: tom