文章目录

  • 一、函数参数传递类型
  • 1、缺省参数
  • 2、不定长参数
  • 通过位置传递的不定长参数
  • 通过关键字传递的不定长参数







一、函数参数传递类型



函数参数传递类型 :

  • 位置参数 : 函数 调用时 按照参数在函数 定义时 的位置进行传递 ; ( 形参 和 实参 顺序 和 个数 必须一一对应 )
  • 关键字参数 : 函数 调用时 使用 " 键 = 值 " 的形式
  • 缺省参数 : 函数 调用时 , 如果没有传入该参数 , 使用缺省参数默认值作为实参 ;
  • 不定长参数 : 在 定义函数 时 , 不确定 调用时会传递多少个参数 , 函数调用时可以传入任意个参数 ;


1、缺省参数



" 缺省参数 " 又称为 " 默认参数 " , 在 定义函数时 , 可以为参数设置一个默认值 ,

在调用函数时 , 可以选择 传入该 缺省参数 , 也可以选择 不传入 缺省参数 ,

  • 如果不传入参数 则 使用默认值作为实际参数 ;
  • 如果 传入参数 则 使用传入的值作为实际参数 ;

设置 的 缺省参数 , 在定义时 , 必须放在 形参列表的最后 ;



代码示例 :

"""
函数多返回值 代码示例
"""


def info(name, age=16):
    print(f"{name} is {age} years old")


# 缺省参数 - 与关键字参数结合使用
# Jerry is 16 years old
info(name='Jerry')

# 缺省参数 - 与位置参数结合使用
# Trump is 16 years old
info('Trump')

# 缺省参数 - 传入缺省参数
# Joe is 21 years old
info('Joe', age=21)

执行结果 :

Jerry is 16 years old
Trump is 16 years old
Joe is 21 years old



2、不定长参数



" 不定长参数 " 又称为 可变参数 , 在 定义函数 时 , 不确定 调用时会传递多少个参数 , 就使用 不定长参数 ;

在 函数调用时 , 不定长参数 , 可以传入 若干 个参数 ;

不定长参数 又分为 两种类型 :

  • 位置传递参数
  • 关键字传递参数

通过位置传递的不定长参数

通过位置传递的不定长参数语法 :

def 函数名(*args)
	# 函数体

*args 就是不定长参数 , 所有传入的参数 , 都会被 args 参数接收 , 这些参数都会被封装到一个 元组 tuple 中 ;

args 可以理解为 元组 数据容器 类型 ;

注意 : 通过位置传递的 不定长参数 前面有一个 * 符号 ;



代码示例 :

"""
函数多返回值 代码示例
"""


def info(*args):
    print(args)


# 不定长参数 - 位置传递参数
# ('Tom',)
info('Tom')

# 不定长参数 - 位置传递参数
# ('Trump', 80)
info('Trump', 80)

执行结果 :

('Tom',)
('Trump', 80)

通过关键字传递的不定长参数

通过关键字传递的不定长参数语法 :

def 函数名(**args)
	# 函数体

**args 就是通过关键字传递的不定长参数 , 所有传入的参数 , 都是由键值对组成的 , 这些键值对都会被封装到字典中 ;

args 可以理解为 字典 数据容器 类型 ;

注意 : 通过位置传递的 不定长参数 前面有两个 * 符号 ;



代码示例 :

"""
函数多返回值 代码示例
"""


def info(**args):
    print(args)


# 不定长参数 - 关键字传递参数
# {'name': 'Tom', 'age': 18}
info(name='Tom', age=18)

执行结果 :

{'name': 'Tom', 'age': 18}