Python函数进阶

1. 多返回值

  • 返回值为return返回给上级函数的值,需要注意的是,与C和C++不同,Python中可以有多返回值。

    多返回值
    def test_return():
        return 1,2
    x, y = test_return()
    print(x)
    print(y)
    

    特点:

    • 按照返回值的顺序,写对应顺序的多个变量接收即可
    • 变量之间用逗号隔开
    • 支持不同类型的数据return

2. 传参方式

  • 位置参数:顺序和个数一致。

    def user_info(name, age, gender):
        print(f"姓名:{name},年龄:{age},性别:{gender}")
    # 位置参数:个数和顺序一致
    user_info('张三', 18, '男')
    
  • 关键字参数:“键=值”形式,个数和顺序可以不一致。

    # 关键字参数:不需要一致
    user_info(name='李四', gender='男', age=21)
    
  • 位置与关键字混用:位置参数需要一致且放前面,关键字参数不需要

    # 混用
    user_info('王五',  gender='女', age=21)
    
  • 缺省参数:缺省参数也叫默认参数,用于定义函数,为参数提供默认值

    user_info('李白', 30) # 缺省参数可不传递
    user_info('李粉', 18, '女')    # 传递缺省参数,则修改默认值
    

    注:所有位置参数必须出现在默认参数前,包括函数定义和调用

  • 不定长参数:也叫可变参数。用于不确定传递多少个参数(不传参也可以)的场景。

    位置不定长参数
    # 定义
    def user_info(*args):
        print(args)
    
    user_info('张三')
    user_info('李四', 18)
    
    注意:传进的所有参数都会被args变量收集,它会根据传进参数的位置合并为一个元组(tuple),args是元组类型,这就是位置传递。
    关键字不定长
    def user_info(**kwargs):
        print(kwargs)
    # 关键字不定长
    user_info(name='杰克', age=28, gender='男')
    
    注意:参数是“键=值”形式的形式的情况下, 所有的“键=值”都会被kwargs接受, 同时会根据“键=值”组成字典

3. 匿名函数

  • 函数参数:传入计算逻辑,而非传入数据。

  • 函数定义:

    • def关键字,可以定义带有名称的函数,可以基于名称重复使用。
    • lambda关键字,可以定义匿名函数(无名称),只可临时使用一次。
    匿名函数
    def test_func(compute):
        result = compute(1, 2)
        print(result)
    test_func(lambda x, y:x + y)    # 括号内为匿名函数
    
posted @   Coder-Yun  阅读(5)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~
点击右上角即可分享
微信分享提示