繁体   English   中英

我可以使用具有 class 属性/function 的变量吗?

[英]Can I use a variable with a class attribute / function?

它不允许我使用具有 class 属性的变量。 不知道如何管理这个。 我需要得到 7 的答案。但我需要能够使用该变量。 给我错误,

回溯(最后一次调用):文件“c:/Data/First Game (Python)/rough.py”,第 32 行,在 a.add_2(5) 中 AttributeError: 'str' object 没有属性 'x'

我认为它无法通过我的意思提到 Me1 来识别这一点。

class Test():
    def add_2(self, y):
        print(y + 2)

Me1 = Test()

for i in range (1):
    a = "Me" + str(i+1)
    print (a)
    a.add_2(5)

从我看到的变量a是一个字符串,而 function a.add_2(5)属于 class Test的对象。 该错误是由于您在字符串上调用 class Test方法引起的

除非您正在探索要学习的东西,否则在运行时构造 class 的 object 没有任何意义。 但是,这就是你要找的,

class Test():
    def add_2(self, y):
        print(y + 2)

Me1 = Test()

for i in range (1):
    a = "Me" + str(i+1)
    print(a)
    b = eval(a) # converting str to Class Test object
    b.add_2(5)

Output:

Me1
7

参考: https://docs.python.org/3/library/functions.html#eval

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM