按参数位置传参
按照函数定义中的参数位置,传入对应参数值
def say_hello(age,name="Milton"): # 默认值参数必须在没有默认值参数的后面,否则出错
print("Hello,{user}. I am {age} years old".format(user=name,age=age))
say_hello(18,"Cherish") # 必须按照函数定义中的参数位置,对应传入值
say_hello(28) # 第二个参数有默认值,允许不传值
按参数名关键字传参
函数调用时,通过“键-值”形式加以指定
def say_hello(age,name):
print("Hello,{user}. I am {age} years old".format(user=name,age=age))
say_hello(age=16,name="Evan")
say_hello(name="Evan",age=16)
say_hello(18,name="Milton")
使用不定长-位置参数传参
def say_hello(*args):
"""传进的所有参数都会被args变量收集,它会根据传进参数的位置合并为一个元组(tuple),args是元组类型"""
print(args)
say_hello("Milton","Cherish","Evan") # 不定长位置参数传参
data=("Milton","Cherish","Evan")
say_hello(*data) # 元組解包裹传参
使用不定长-包裹关键字(字典)传参
def say_hello(**kwargs):
""" 根据传递进来的关键字参数,打包成一个字典,kwargs是字典类型"""
print(kwargs)
say_hello(name="Milton",age=31,sex="M") # 不定长关键字传参
data={'name': 'Cherish', 'age': 18, 'sex': 'G'}
# 字典需要解包传参
say_hello(**data) # 字典解包裹传参
匿名函数
有一种特殊的函数,叫匿名函数,它可以不用定义直接使用
格式:lambda 参数:操作(参数)
f=lambda x:x+1
f(1) # 调用匿名函数
lambda语句中,冒号前是参数,可以有多个,用逗号隔开,冒号右边的是返回值
转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。