Python 如何在类本身调用类对象?
我是Python新手,正在尝试做一些事情,希望您能帮助我:Python 如何在类本身调用类对象?,python,class,Python,Class,我是Python新手,正在尝试做一些事情,希望您能帮助我: 如果我在Python中定义一个类,比如:class foo:,在类内部,我想用“foo”对象做一些事情,也就是说,-我希望类的一个对象类似于a=foo() 因此,它应该看起来像: class foo: def __init__(self): self.t=7 a=foo() #it's outside init.... 有可能吗? 有办法吗? (我正在尝试这样做,但它总是给我错误… (我试图将
如果我在Python中定义一个类,比如:
class foo:
,在类内部,我想用“foo”对象做一些事情,也就是说,-我希望类的一个对象类似于a=foo()
因此,它应该看起来像:
class foo:
def __init__(self):
self.t=7
a=foo() #it's outside init....
有可能吗?
有办法吗?(我正在尝试这样做,但它总是给我错误…
(我试图将
导入文件,但根本没有帮助…)
谢谢大家! 在类定义之后执行:
class Foo:
pass
Foo.a = Foo()
否。在定义a=foo
的阶段,没有定义foo。但是,您可以在foo内部为foo实例创建一个变量,如:
class Foo:
def __init__(self):
pass
a = None
Foo.a = Foo()
根据注释进行编辑。您需要在类中创建函数,然后可以在function@MoinuddinQuadri-它起作用了!非常感谢。你想写一个单例模式吗@ziggyjones-不……是的,它是类的一个属性,就像你在类定义中定义了它一样。NameError:name'foo'没有定义。
啊,是的,我在简短的窗口中输入了我的答案。至于你的其他评论,是的,这是课堂的一部分;你自己看看吧!那不行。实例a
将对类a
进行阴影处理。类a
在哪里?@juanpa.arrivillaga实际上不需要用于此目的,但是没有它,在执行Foo.a=Foo()
之前无法调用Foo.a。当然可以<代码>类Foo:通过;Foo.a=Foo()
是非常有效的Python.@juanpa.arrivillaga是的,但我的意思是如果isinstance(Foo.a,Foo),你就不能做类似于的事情。