당신은 또한 단지 인스턴스의 __dict__
을 반복 할 수, __slots__
을 정의하지 않는 클래스를 가정 (또는 vars()
function를 통해).
class Superclass:
def __init__(self, w):
self.w = w
class Example(Superclass):
def __init__(self, x, y, z):
super().__init__(1234)
self.x = x
self.y = y
self.z = z
@property
def x_prop(self):
return self.x
@classmethod
def do_something(cls, z):
return str(cls) + str(z)
def __call__(self):
return 4444
class_property = 42
def __repr__(self):
return "\n".join("%s: [%s]" % (k, v) for (k,v) in vars(self).items())
example = Example(2, lambda y: z, '4')
example2 = Example(example, 6j, b'90')
print(repr(example2))
이 인쇄
x: [x: [2]
y: [<function <lambda> at 0x7f9368b21ef0>]
z: [4]
w: [1234]]
y: [6j]
z: [b'90']
w: [1234]
이의 – defactodeity