*args和**kwargs可變參數用法

  • *args**kwargs是Python程式中能夠接收可變長度的參數。
  • *args打包成元組(Tuple)資料型態,**kwargs打包成字典(Directory)資料型態。
  • *args**kwargs可一起使用,但*args要放在**kwarg之前,不然會發生語法錯誤。

程式範例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
def fun1(*info1):
print(info1)

def fun2(**info2):
print(info2)

def fun3(*info1, **info2):
print(info1, info2)

fun1("John","001","2020/10/10")
# ('John', '001', '2020/10/10')

fun2(name="John",eid="001",date="2020/10/10")
# {'name': 'John', 'eid': '001', 'date': '2020/10/10'}

fun3("John","001","2020/10/10",name="John",eid="001",date="2020/10/10")
# ('John', '001', '2020/10/10') {'name': 'John', 'eid': '001', 'date': '2020/10/10'}