Python学习笔记--函数进阶

(一) 函数多返回值

  • 按照返回值的顺序,写对顺序的多个变量接收即可
  • 变量之间用逗号隔开
  • 支持不同类型的数据return
    def test_return():
        return 1,2
     
    x,y = test_return()
    print(x)
    print(y)
    

    (二) 函数的多种传参方式

  • 函数参数种类:根据使用方式不同:分为以下4种

    1. 位置参数


  • 根据函数定义的参数位置来传递参数
    ! 传递的参数和定义的参数的顺序及个数必须一致

    2. 关键字参数


  • 函数调用时通过键值对的形式传递参数
    ! 函数调用时,如果有位置参数时,位置参数必须在关键字参数的前面,但关键字参数之间不存在先后顺序

    3. 缺省参数


  • 也称默认参数,用于定义函数,为函数提供默认值,调用函数时可不传该默认参数的值
    ! 所有位置参数必须出现在默认参数前,包括函数定义和调用

    ! 函数调用时,如果为缺省参数传值则修改默认参数值,否则使用这个默认值

    4. 不定长参数


  • 也称可变参数,用于不确定调用的时候会传递多少个参数(不传参也可以)的场景。
    ! 当调用函数时不确定参数个数时,可以使用不定长参数。

    (1) 位置传递

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

    def user(*args):
        print(args)
    
    user('Belly',20,1)
    
    

    Python学习笔记--函数进阶_第1张图片

    (2) 关键字传递

  • 参数是键值对形式,所有键值对都会被kwargs接受,同时根据键值对组成字典
    def user(**kwargs):
        print(kwargs)
     
    user(name = 'Belly',age = 20,sex = 1)
     
    
  •  

     

    (三) 匿名函数


  • 1. 函数作为参数传递


  • 函数本身可以作为参数,传入另一个函数中进行使用
    函数传入的作用在于:传入计算逻辑,而非传入数据


  • 2. lambda匿名函数


  • (1) 函数定义:

    def关键字:定义带有名称的函数(可以使用名称进行重复使用)
    lambda关键字:定义匿名函数(只可临时使用一次)
    (2) lambda基本语法:

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

    ! 函数体只可写一行代码,无法写多行

    def test(compute):
        result = compute(2,3)
        print(result)
     
    test(lambda x,y:x + y)

     

你可能感兴趣的:(Python,学习,笔记,python,算法,开发语言)