繁体   English   中英

有没有更简单的方法将变量从外部类传递到内部类?

[英]Is there a simpler way to pass variables from the outer class to an inner class?

如果我有下面的类,有没有办法将在外部类__init__构造函数中定义的变量传递到内部类的内部类构造函数中?

class Outer:

     def __init__(self, df):
        self.df = df

     class Inner:
          ## Looking to pass the df into this class

我偶然发现了这个解决方案,但我想知道是否有更简单的解决方案?

我也遇到了这个解决方案,但是有了这个,我必须在调用内部类时插入 df 。 有没有办法避免这种情况,如果它在外部类中初始化,我可以在调用内部类时自动检索它,或者这是不可避免的?

在创建内部对象之前,您没有内部对象,此时您可以传递外部类的任何属性:

class Outer:
     def __init__(self, df):
        self.df = df
        self._inner = self.Inner(self.df)

     class Inner:
         def __init__(self, parent_df):
            self.parent_df = parent_df 

另请参阅嵌套类是好习惯吗?

class Outer:

    def __init__(self, df):
        self.df = df

    class Inner(Outer):
        pass

Inner现在将继承Outer的属性和方法

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM