You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在类内部调用嵌套类?遇‘类未定义’错误求解

解决Python嵌套类调用的'class is not defined'错误

你在实例方法里直接调用testObject()会报错,因为嵌套类testObject是外层类testArray的属性,不能直接在实例方法的局部作用域里直接引用。可以用两种方式正确调用:

方法一:通过实例的类对象访问

利用self.__class__获取当前实例所属的类,再访问嵌套类:

class testArray:
    class testObject:
        blah = 0

    def __init__(self, number):
        self.number = 1

        # 修正写法
        object = self.__class__.testObject()
        object.blah = self.number

方法二:直接通过外层类名访问

直接用外层类testArray来引用嵌套类testObject:

class testArray:
    class testObject:
        blah = 0

    def __init__(self, number):
        self.number = 1

        # 修正写法
        object = testArray.testObject()
        object.blah = self.number

嵌套类属于外层类的成员,必须通过外层类或者实例对应的类对象来访问,不能在实例方法里直接裸写嵌套类名。

内容的提问来源于stack exchange,提问作者Dongbae

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 14:40:29