python 参数类型

本文主要记录python各种参数的实际使用

python的参数类型可以分为位置参数、默认参数(缺省参数)、关键字参数、不定长参数(*args、**kwargs)

使用位置参数

def func(a, b):
    print(a)
    print(b)
调用方式一  
In [19]: func(1, 2)   # 直接传值
1
2
=========================
a = 1
b = 2
调用方式二
In [18]: func(a, b)   # 传递变量
1
2
========================
调用方式三
In [20]: func(b=b, a=a)
1
2
========================
调用方式四
In [22]: func(*(1, 2))
1
2
========================
调用方式五
In [23]: func(**dict(a=1, b=2))
1
2

使用缺省参数

def func(a, b=10):
   print(a)
   print(b)

In [13]: func(1, 2)   # 不使用默认值
1
2
In [14]: func(1)   # 使用默认值
1
10

使用不定长参数

def func(a, b, *args): 
    print(a)
    print(b)
    print(args)

In [25]: func(1, 2, 3, 4, 5)
1
2
(3, 4, 5)     # 将除a, b位置之外的参数打包为元组

使用关键字参数

def func(a, b, *args, c):     # 关键字参数之前需要使用 '*' 与位置参数隔开
    print(a)
    print(b)
    print(args)
    print(c)

In [27]: func(1, 2, 3, 4, 5, c='c')
1
2
(3, 4, 5)
c

def func(a, b, *args, c, d=None,  **kwargs):
    print(a)
    print(b)
    print(args)
    print(c)
    print(d)
    print(kwargs)

In [38]: func(1, 2, 3, 4, 5, c='c', **{'f': 'f', 'e': 'e'})
1
2
(3, 4, 5)
c
None
{'f': 'f', 'e': 'e'}

posted on 2021-06-12 22:57  每日问答  阅读(151)  评论(0)    收藏  举报

导航