在Python中,有没有办法获取初始化类对象所需的属性列表?
例如我有以下课程:
class MyClass:
def __init__(self, a, b, c):
self.a = a
self.b = b
self.c = c
我想知道,
['a', 'b', 'c'] # These are required to initialize MyClass instance.
可能借助于
<something>(MyClass)
或者,
MyClass.<something>
讨论从对象获取属性列表。 List attributes of an object 但我想知道,有没有办法获得初始化对象所需的属性列表?
答案 0 :(得分:1)
您可以使用inspect.getargspecs(YourClass.__init__)
:
>>> import inspect
>>> class Foo(object):
... def __init__(self, a, b, c):
... pass
...
>>> inspect.getargspec(Foo.__init__)
ArgSpec(args=['self', 'a', 'b', 'c'], varargs=None, keywords=None, defaults=None)
但是这不会告诉您很多关于 a
,b
和c
应该是什么的信息。我怀疑这里存在XY问题,所以你应该解释一下你试图解决的问题。
答案 1 :(得分:0)
当然你可以:
class MyClass:
def __init__(self, args):
self.a = args[0]
if len(args) > 1:
self.b = args[1]
if len(args) > 2:
self.c = args[2]