7.2 函数的多种参数使用形式

一、位置参数

  1. 概念:调用函数时根据函数定义的参数位置来传递参数

  2. 注意:传递的参数和定义的参数的顺序及个数必须一致

  3. 示例:

    def func_name(name, age, address):
        print(f"名称:{name}, 年龄:{age}, 住址:{address}")
    
        
    # 位置
    func_name("snow", 12, "这是住址")
    

    输出结果:

    名称:snow, 年龄:12, 住址:这是住址

二、关键字参数

  1. 概念:函数调用时通过键=值的形式传递参数

  2. 作用:可以让函数更加清晰、容易使用,同时也清除了参数的顺序需求

  3. 注意:函数调用时,如果有位置参数的时候,位置参数必须在关键字参数的前面,但关键字参数之间不存在顺序关系

  4. 示例

    def func_name(name, age, address):
        print(f"名称:{name}, 年龄:{age}, 住址:{address}")
    
      
    # 关键字
    func_name(name="snow", age=12, address="这是住址")
    func_name(age=12, address="这是住址", name="snow")
    func_name("snow", address="这是住址", age=12)

    输出结果:

    名称:snow, 年龄:12, 住址:这是住址 名称:snow, 年龄:12, 住址:这是住址 名称:snow, 年龄:12, 住址:这是住址

三、缺省参数(默认值)

  1. 概念:缺省参数也叫默认值,用于定义函数,为函数提供默认值,调用函数时可不传默认参数的值

  2. 注意:

    1. 所有位置参数必须出现在缺省参数之前,包括函数定义和调用

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

  3. 示例

    输出结果:

    名称:snow, 年龄:12, 性别:男 名称:snow, 年龄:12, 性别:女

四、不定长参数

  1. 概念:不定长参数也叫可变参数,用于不确定调用的时候会传递多少个参数(也有可能不传参数)的场景

  2. 作用:当调用函数时不确定参数个数时,可以使用不定长参数

  3. 不定长参数类型:

    1. 位置传递:

      1. 函数接收格式:def 函数名(*args):

      2. 注意:传进的所有参数都会被制定一个变量接收,会根据传递的位置合并成一个元组

    2. 关键字传递:

      1. 函数接收格式:def 函数名(**args):

      2. 注意:参数是“键=值”形式的情况下,所有的“键=值”都会被接收,同时形成一个字典

  4. 案例:

    输出结果:

    <class 'tuple'> (1, 2, 3, 4, 5, 6, 7) <class 'dict'> {'name': '1', 'age': '3', 'gender': '123'}

Last updated

Was this helpful?