Python定义函数

定义函数

def f_name():
    pass

位置参数(positional argument)

def add(a,b):
    return a+b

# 按照默认位置顺序:a=3,b=4
print(add(3,4))	# 7

# 不按照默认位置顺序:a=4,b=3
print(add(b=3,a=4))	# 7

关键字参数(keyword argument)

关键字参数的形式为 kwarg=value

# 带有默认参数值的函数
def parrot(voltage, state='a stiff', action='voom', type='Norwegian Blue'):
    print("-- This parrot wouldn't", action, end=' ')
    print("if you put", voltage, "volts through it.")
    print("-- Lovely plumage, the", type)
    print("-- It's", state, "!")
    
parrot(1000)                                          # 1 positional argument
parrot(voltage=1000)                                  # 1 keyword argument
parrot(voltage=1000000, action='VOOOOOM')             # 2 keyword arguments
parrot(action='VOOOOOM', voltage=1000000)             # 2 keyword arguments
parrot('a million', 'bereft of life', 'jump')         # 3 positional arguments
parrot('a thousand', state='pushing up the daisies')  # 1 positional, 1 keyword

可变参数(*args和**kwargs)

*args 将多余的位置参数封装为元组,**kwargs 将关键字参数封装为字典,**kwargs 必须放在 *args 的后面。

def many(a,*args,**kwargs):
    print(a)
    print(args)
    print(kwargs)
many(1,2,3,name="Mike",job="programmer")
# 1
# (2, 3)
# {'name': 'Mike', 'job': 'programmer'}

你可能感兴趣的:(Python,Python,函数,位置参数,关键字参数,可变参数)