在python方法中获取* args的名称

Get names of *args in a python method

本问题已经有最佳答案,请猛点这里访问。

我不确定是否可能。但是假设我有一些具有如下构造函数的Python类:

1
2
3
4
5
6
class SomeClass(object):

    def __init__(self, *args):
        pass
        # here I want to iterate over args
        # get name of each arg

假设我在某个地方使用这个类并创建它的一个实例:

1
some_var = SomeClass(user, person, client, doctor)

我所说的get name of arg是指获取名称("user"、"person"、"client"和"doctor")。

我的意思是只要得到一个参数的字符串名。其中,用户、个人等是一些具有属性等的Python对象,但我只需要这些变量(对象)的命名方式的名称。


  • 当你不确定将有多少论据转换到你的功能时,应该使用
  • 请您处理一下您没有预先定义的论据(kwargs=keyword comments)

是一个字典添加到参数。

https://docs.python.org/3/tutorial/controlflow.html 350;arbitrary-argument-lists


使用**kwargssetattr类似于:

1
2
3
4
class SomeClass(object):
    def __init__(self, **kwargs):
        for key, value in kwargs.items():
            setattr(self, key, value)

你会得到关键词和价值,不管它们是什么。