def fun1():return 1, "a"x, y = fun1()
print(x, y)
根据位置,按顺序传参
def fun2(age, name):print(f"name={name}, age={age}")fun2(18, "小明")
通过建=值的形式进行传参
顺序无所谓
def fun3(age, name):print(f"name={name}, age={age}")fun3(name = "小明", age = 20)
如果位置参数和关键字参数混用,则位置参数必须在前面
不传参的时候使用默认值,传参则使用参数
def fun4(age=50, name="小花"):print(f"name={name}, age={age}")fun4(18)
特别注意:默认参数必须在最后面
def fun5(*args):print(args)
# (18, 20, 'a')
fun5(18, 20, "a")
def fun6(**kwargs):print(kwargs)
# {'name': 'tom', 'age': 20, 'id': 5}fun6(name="tom", age=20, id=5)
def fun7(x, y):return x + y;def test(fun):result = fun(1, 2)return resultprint(test(fun7))
函数定义中
fun7 = lambda x, y:x+y
print(fun7(5, 5))或者下面这种用法,需要传递一个函数作为参数时,不用def定义函数
def test(fun):result = fun(1, 2)return resultprint(test(lambda x, y:x+y))