您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

Python中的嵌套类

Python中的嵌套类

方法中执行的代码在该方法的本地范围内运行。如果访问不在此范围内的对象,Python将在全局/模块范围内而 在类范围或任何封闭类的范围内查找对象!

这意味着:

A.a = 'a_b'

insideC.B.__init__将设置全局A类的class属性,而不是C.A您可能想要的。为此,您必须这样做:

C.A.a = 'a_b'

另外,如果您在子类中覆盖父方法,Python将不会调用方法。你必须自己做。

作用域规则意味着,如果要在内部调用__init__父类方法C.B.__init__,则它必须看起来像这样:

C.A.__init__(self)

而不是这样的:

A.__init__(self)

这可能是您尝试过的。

python 2022/1/1 18:31:24 有198人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶