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
使用
1 2 3 4 | class SomeClass(object): def __init__(self, **kwargs): for key, value in kwargs.items(): setattr(self, key, value) |
你会得到关键词和价值,不管它们是什么。