【发布时间】:2021-10-05 10:24:43
【问题描述】:
如何让MyClassB 访问dict k 中的dict k?
我有两个文件,第一个文件是MyClassB.py,内容如下:
class MyClassB:
print('This is MyClassB!')
@classmethod
def run(cls):
for _i in cls.codes:
print(k[_i]) # What code should I write here to access k defined in MyClassAC?
#If k is relatively large, will it affect performance if it is written in the class attribute?
主文件MyClassAC.py的内容如下:
from MyClassB import MyClassB
class MyClassA:
codes = range(3)
print('This is MyClassA!')
class MyClassC(MyClassB, MyClassA):
print('This is MyClassC!')
pass
k = {}
for i in MyClassC.codes:
k[i] = MyClassC
MyClassC.run()
【问题讨论】:
-
我认为这不是您的真实代码,而是一个示例?很难理解您实际上要对名为
MyClassA、MyClassC等的类做什么......无论如何,这看起来像是滥用函数可能会做的类。 -
变量本身需要以全局变量的形式在类的范围内,而不是局部变量,如果我正确理解您的问题,则应将其写入类中。这可以通过使用
self关键字来完成。 -
@AKX 当然,我的代码只是一个例子。
-
@AidanDonnelly 如果存在于属性中,则需要存在于类属性
cls中,而variable k比较大。这对性能有影响吗?