零基础Python学习,第七章:函数进阶

# 1. 函数的多返回值

"""
def return_num(): #仅返回第一个返回值
    return 1
    return 2

print(return_num())
"""

# 多个返回值写法:
# 按照返回值顺序,写对应顺序的多个变量接受即可,变量间用逗号隔开,支持不同类型的数据return
"""
def test_return():
    return 1,"Hello",True

x,y,z = test_return()
print(x,y,z)
"""

# 2.函数多种传参方式

# 位置参数:调用函数时根据函数定义的参数位置来传递参数
"""
def user_info(name, age, gender):
    print(f"您的名字是{name},年龄是{age},性别是{gender}")

user_info("Chan", 18, "male")
"""

# 关键字参数:函数调用时通过键值对形式传递参数
# 作用:使函数使用更加清晰便捷,同时不再需要满足顺序要求
"""
def user_info(name, age, gender):
    print(f"您的名字是{name},年龄是{age},性别是{gender}")

user_info(gender="male",name="Chan",age=18) #不按顺序
user_info("Chan",gender="male",age=18) #可以和位置参数混用,但位置参数必须在关键字前面且与参数顺序匹配
"""

# 缺省参数(默认值)
# 注意:设置默认值的时候统一安排在最后,在前面或中途设置默认值会报错!
"""
def user_info(name, age = 18, gender = 'male'):
    print(f"您的名字是{name},年龄是{age},性别是{gender}")

user_info("Chan")
user_info("Chan",18, gender='男')
"""

# 不定长参数
# 也叫可变参数,用于不确定调用的时候会传递多少参数(或者不传参)的场景
# 类型:1.位置传递;2.关键字传递
"""
# 位置传递
def user_info(*args):
    print(args)

# 传进的所有参数都会被args变量收集,args根据传进参数的位置
# 合并为一个元组(tuple),args是元组类型,这就是位置传递

user_info("Chan")
user_info("Chan", 18)
"""

# 关键字传递
"""
def user_info(**kwargs):
    print(kwargs)
# 参数是键值对的情况下,所有键值对都会被kwargs接受,然后组成字典
user_info(name="Chan",age=18,gender="male")
"""


# 3.函数作为参数传递
# 这是一种逻辑传递,而不是数据传递,任何逻辑都可以自行定义并作为函数传入
"""
def test_func(compute):
    result = compute(1,2)
    print(result)

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

test_func(compute)
"""

# 4.lambda匿名函数
# 有名称的函数可以基于名称重复使用
# 无名称的匿名函数只能临时使用一次
# 语法:lambda 传入参数:函数体(只能写一行代码)
"""
def test_func(compute):
    result = compute(1,2)
    print(result)

test_func(lambda x,y:x+y) #lambda 传入参数:函数体
test_func(lambda x,y:x+y) #要重复使用就只能重写
"""

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值