我需要创建一个模仿这种行为的类(在数学中,我们说list,dict是“幂等的”):
>>> list(list([3,4]))
[3, 4]
>>> dict({'a':1,'b':2})
{'a':1,'b':2}
所以,如果A是我的班级,我想写
>>> a = A(1)
>>> b = A(a)
>>> b == a
True
我想我的 A 类必须看起来像这样:
class A(object):
def __init__(self,x):
if isinstance(x, A) :
self = x
else :
self.x = x
self.y = 'hello'
我试试
>>> A(1).x
1
>>> A(A(1)).x
Traceback (most recent call last):
File "<input>", line 1, in <module>
AttributeError: 'A' object has no attribute 'x'
这没用 !
我不想在self中复制x属性,我只想让self成为x或“点” x
一些想法?谢谢