python中的位置参数和关键字参数

1. 变量、参数的命名

我们在变量命名、函数命名时要避开python的关键字,那么如何获得python的关键字列表呢?总不能每次忘记了都去百度,通过如下方法,可以查看:

import keyword
keyword.kwlist

运行命令后返回一个列表,包含所有的关键字,共35个。

关于命名可以参考PEP8规范:

https://www.python.org/dev/peps/pep-0008/#naming-conventions

2. 随意的位置参数和随意的关键字参数

Arbitrary Positional Arguments(随意的位置参数)和Arbitrary Keyword Arguments(随意的关键字参数)。

def do_something(a, b, *args, **kwargs):
    print(a)
    print(b)
    print("args:", args)
    print("kwargs:", kwargs)
    
do_something(1, 2)
print("====================")
do_something(1, 2, 3, 4, 5)
print("====================")
do_something(1, 2, 3, 4, 5, age=18, gender="f")

可以看到位置参数传递进来后,被作为元组对待,关键字参数传递进来后,被当作字典对待。

这样就可以先定义一个元组和字典,然后作为参数传递,不过要在元组前加*,字典前加**:

原文地址:https://www.cnblogs.com/yunxiaofei/p/11203972.html