Python - 如何访问实例变量? [已关闭]

问题描述 投票:0回答:1

我最近偶然发现了一个问题,如何在不创建该类的实例(即

__init__
)的情况下从其范围之外访问类的实例变量(即
self.name
内的变量,如
main = foo()
)。

我想做的事情的例子:

class foo:
       def __init__(self,name):
           # wanna access self.name
           self.name = name
class bar:
    # And use it here
    os.mkdir(foo.name)
python class variables attributes
1个回答
0
投票

您可以将变量设置为

global
,然后您就可以从任何地方访问该变量。并且还修改它。

不确定为什么要使用嵌套类,但是:

foo_name = None
class main:
    class foo:
       def __init__(self,name):
           global foo_name
           foo_name = self.name = name
    class bar:
       def __init__(self):
           print(foo_name)


main.foo("Jonathan")
main.bar()

打印出“Jonathan”

© www.soinside.com 2019 - 2024. All rights reserved.