在Python2.7中有没有一种方法可以获取对象的init参数值?我可以通过getargspec获得默认值,但是我想访问传入的值
import inspect
class AnObject(object):
def __init__(self, kw='', *args, **kwargs):
print 'Hello'
anobj = AnObject(kw='a keyword arg')
print inspect.getargspec(anobj.__init__)
退货
Hello
ArgSpec(args=['self', 'kw'], varargs='args', keywords='kwargs', defaults=('',))
__init__
与任何其他函数的处理方式没有区别。因此,与任何其他函数一样,它的参数在返回时将被丢弃,除非在此之前将它们保存在某个位置。你知道吗标准方法是在实例的属性中保存稍后需要的内容:
"Dataclasses" introduced in 3.7简化此过程,但require data annotations:
相当于:
尽管请参见Python decorator to automatically define __init__ variables为什么这种简化在实践中不是很有用。你知道吗
可以将它们存储为属性。你知道吗
然后打印出来:
如果您想看到所有这些,可以查看它的
__dict__
属性。你知道吗相关问题 更多 >
编程相关推荐