首页 > 解决方案 > 在类内创建同一个类的对象

问题描述

我想在一个类中有一个类的对象,因为我需要将它传递给一个方法,类似于下面的示例。我希望下面的示例打印出 1 或 fooObj.fooNum,但我不断得到NameError: name 'foo' is not defined.

class bar:
    def fooDef(self, fooObj):
        print fooObj.fooNum

class foo:
    fooNum = 1
    b = bar()
    f = foo()
    b.fooDef(f)

标签: pythonpython-2.7classobject

解决方案


尽管不清楚您要问什么,但以下更改可以满足您的要求。
但是代码使用了foo()非类的实例:

class bar:
    def fooDef(self, fooObj):
        print fooObj.fooNum

class foo:
    def __init__(self):
        self.fooNum = 1
        b = bar()
        f = self
        b.fooDef(f)

f = foo()

印刷:

1

推荐阅读