17. 函数参数有几种形式

可以分两方面来解释,定义时的函数参数形式和调用时参数形式,有以下几种情况,

  • 位置参数,在调用时根据其位置来传递相应的实参值。

  • 关键字参数,在调用时使用key=value的形式来传递参数, key为实际的变量名。value 为实际的变量值

  • 默认参数,在定义时提供默认值,在调用时,可以不传递该参数而使用默认值。

  • 可变参数列表,是指在调用时参数数量可变,在定义函数时形参参数通过*args,”**kwargs“来定义。

什么是位置参数

是指在调用时根据其位置来传递相应的实参值。

什么是关键字参数

关键字参数是指调用时提供了关键字,关键字参数在使用时必须在位置参数之后。 位置参数是指传递参数时,不指出其参数名,在调用时仅根据其位置将实际参数传给其形式参数。

什么是默认参数

默认参数就是在定义时提供默认值,在调用时,如果不传递该值时,就使用该默认值。 默认参数在定义时,必须在所有的位置参数之后。

什么是可变长度的参数

是指在函数中,可以使用元组和词典来传递可变长度的参数,在定义函数时采用一个星号和两个星号来传递 元组和词典,函数内部使用元组和词典``(*args,**kwargs)``。如:

def fn(*t, **k):
   """此时t是元组, k为词典"""
   pass

在调用fn()函数时,有两种形式调用,分别为:

fn(*t, **k)

t为元组或列表,k为词典,或使用以下形式:

fn(a, b, c, k1=””, k2=””)