取决于x
与您的班级的关系。
一种方法是使函数成为静态方法。这可能是最不可能的
@staticmethod
def deep_list(x):
"""fully copies trees of tuples to a tree of lists.
deep_list( (1,2,(3,4)) ) returns [1,2,[3,4]]"""
if type(x)!=type( () ):
return x
return map(deep_list,x)
如果你的意思是对一个属性进行操作,那么就这样做吧
def deep_list(self):
"""fully copies trees of tuples to a tree of lists.
deep_list( (1,2,(3,4)) ) returns [1,2,[3,4]]"""
if type(self.x)!=type( () ):
return self.x
return map(deep_list, self.x)
最后,如果您要继承list
或制作类似类的序列,您可以只使用self
def deep_list(self):
"""fully copies trees of tuples to a tree of lists.
deep_list( (1,2,(3,4)) ) returns [1,2,[3,4]]"""
if type(self)!=type( () ):
return self
return map(deep_list, self)