我可以将类中的self
实例变量从类中传递给类外的某个辅助函数吗?例如,当SomeClass的对象被初始化时,以下工作是否会起作用?是不是需要任何类型的铸造?这种编码风格可靠吗?在将来的Python 2.x版本中是否有可能删除此功能?
class SomeClass():
var1 = 7
def __init__(self):
some_func(self) # passing self instead of self.var1
def some_func(instance):
instance.var1 += 1
x = SomeClass()
print x.var1
我有some_func
作为常见的帮助函数跨越许多经历相同转换的类,而我当前应用程序中的var1
是一个庞大的数据框,我无法将其复制到由于内存限制的功能。你有什么建议吗?
答案 0 :(得分:3)
最简单的方法就是尝试一下:) 是的,它可以正常工作
class SomeClass():
var1 = 7
def __init__(self):
some_func(self) # passing self instead of self.var1
def some_func(instance):
instance.var1 += 1
x = SomeClass()
print x.var1
但在大多数情况下,最好将some_func设为SomeClass
的成员