从内部类(Python)访问外部类对象属性
我有以下外部内部类场景:从内部类(Python)访问外部类对象属性,python,python-3.x,class,Python,Python 3.x,Class,我有以下外部内部类场景: class Outer: def __init__(self,x): self.x = x class Inner: def __init__(self, **kwargs): self.params = kwargs def func(self): # Here, somehow, I need x 意思是 调用如下:Outer(10).Inner().func() 上述语句应打印为10 注: 无法使用静态变量(因为需要保存状态,即, pic
class Outer:
def __init__(self,x): self.x = x
class Inner:
def __init__(self, **kwargs): self.params = kwargs
def func(self): # Here, somehow, I need x
意思是
调用如下:Outer(10).Inner().func()
上述语句应打印为10
注:
pickle
是必需的)pickle
a函数(对吗?)上述情况可能吗?“#这里,不知何故,我需要x”你不能拥有它。Python中的嵌套类在这些类的实例之间没有任何关系,它只是使嵌套类位于另一个类的命名空间中。为什么要嵌套这些类?这不是python流中的常见模式,我在其中使用它,当我说Inner()时,它会创建此对象的各种克隆,因此我需要为所有这些克隆创建一个固定值,正如我所说的“函数中的类”和“静态变量”工作,但我需要pickle@juanpa.arrivillaga当你说
internal()
它会创建一个新对象,它总是这样工作的。“变量中的类”到底是什么意思?同样,嵌套类的作用很小“函数中的类”def function(x):class Inner:def func(self):print(x)@juanpa.arrivillaga“#在这里,不知为什么,我需要x”你不能拥有它。Python中的嵌套类在这些类的实例之间没有任何关系,它只是使嵌套类位于另一个类的命名空间中。为什么要嵌套这些类?这不是python流中的常见模式,我在其中使用它,当我说Inner()时,它会创建此对象的各种克隆,因此我需要为所有这些克隆创建一个固定值,正如我所说的“函数中的类”和“静态变量”工作,但我需要pickle@juanpa.arrivillaga当你说internal()
它会创建一个新对象,它总是这样工作的。“变量中的类”到底是什么意思?同样,嵌套类的作用很小,“函数中的类”定义函数(x):类内部:def func(self):print(x)@juanpa.arrivillaga