Python-函数进阶

函数的多返回值

按照返回值的顺序,

写对应顺序的多个变量接受即可,

变量之间用逗号隔开,支持不同类型的数据return

def test_return():
    return 1, 2, 3


x, y, z = test_return()

print(x)
print(y)
print(z)

函数参数种类

使用方式上的不同,函数有4中常见参数使用方式

位置参数

直接按照参数的位置顺序一一输入

关键字参数

在传参的时候把名字打上就可以打乱顺序

def userInfo(name, age, gender):
    print(f"姓名:{name},年龄:{age},性别:{gender}")


userInfo("傻逼", 18, "男")

userInfo(name="小米", gender="男", age=20)

缺省参数

给形参一个默认值,不传参就用默认值,默认参数可以覆盖

不定长参数

可变参数,用于不确定调用的时候会传递多少个参数(不传参也可以)的场景

类型:

1.位置传递

传进去的参数形成元组

def user_info(*args):
    print(f"args参数的类型是{type(args)},内容是{args}")


user_info(1, 2, 3, "sb", True)
# args参数的类型是,内容是(1, 2, 3, 'sb', True)

2.关键字传递

形成字典

def user_info(**kwargs):
    print(f"args参数的类型是{type(kwargs)},内容是{kwargs}")


user_info(name="sb", age=14, gender="男")
# args参数的类型是,内容是{'name': 'sb', 'age': 14, 'gender': '男'}

匿名函数

函数作为参数传递

跟Java一样

def test_fun(compute):
    result = compute(1, 2)
    print(type(compute))
    print(result)


def compute(x, y):
    return x + y


test_fun(compute)

lambda函数

定义匿名函数

只能临时使用一次

lambda 传入参数:函数体(一行代码)

def test_fun(compute):
    result = compute(1, 2)
    print(type(compute))
    print(result)


# def compute(x, y):
#     return x + y


test_fun(lambda x, y: x + y)

你可能感兴趣的:(python,开发语言)