我想知道如何__repr__使用__slots__. 据我了解__repr__,它应该返回一个字符串,该字符串可用于构造我们调用的对象__repr__。换句话说,给予repr(object)Python 解释器应该构造object.
但是,如果有一个类具有__slots__,我很难想象如何实现它。这是因为在使用 时__slots__,槽中的某些属性可能会被初始化并具有值,而其他属性可能不会。那么我如何找出哪些属性已初始化以及将它们传递给字符串的值__repr__?
此类的最小示例:
class TestClass:
__slots__ = 'one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight', 'nine', 'ten', '__dict__'
def __init__(self, something, something_else, **kwargs):
self.something = something
self.something_else = something_else
for key, value in kwargs.items():
setattr(self, key, value)
def __repr__(self):
return '%s(%r, %r)' %(self.__class__.__name__, self.something, self.something_else)
有什么建议么?
慕丝7291255
相关分类