# 位置参数,根据参数的传入顺序来赋值
def add(a, b):
return a + b
# 默认参数,n就是默认参数,调用函数的时候可以不传
# 默认参数必须写在后面且指向不变对象
def power(a, n=2):
s = 1
for i in range(n):
s *= a
return s
# 可变参数,可以传多个不定个数的参数,还可以在list和tuple变量前加一个*号进行传入
def print_log(*logs):
s = ''
for log in logs:
if len(s):
s += ' | '
s += log
print(s)
# 关键字参数,类似如可变参数关键字参数也可以接受多个不固定参数,区别是它的参数都有一个名称
# 可以将字典当做关键字参数传入,前提是变量前增加两个**
def print_kw(**kw):
for k, v in kw.items():
print(k, v)
# 命名关键字参数,传参方式类似如关键字参数,但是参数名称和个数是固定的,也就是*号后面的参数
# 如果前面是可变参数,由于可变参数本来就有个*号,那么命名关键字参数的*号是可以省略的
def print_names(*, name, age):
print(name, age)
# 参数组合
# 参数定义的顺序必须是:必选参数、默认参数、可变参数、命名关键字参数和关键字参数
def f1(a, b, c=0, *args, **kw):
pass
def f2(a, b, c=0, *, d, **kw):
pass
# 通用参数,下面这种函数适用于任意参数的调用方式(可变参数和关键字参数组合)
def f(*args, **kw):
pass
Python的几种函数参数类型
Published: at 10:28 PM | 2 min read