从内部类(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