【发布时间】:2021-11-02 04:26:46
【问题描述】:
代码:
class Abc:
a = 2
b = 3
c = 4
def abc(self,x , y):
return x + y
def main():
p = input("Enter the variable name:") # a
q = input("Enter the variable name:") # b
Abc.abc(Abc.p, Abc.q)
if __name__ == "__main__":
main()
问题?
假设我有这段代码,我想根据用户输入访问类的变量。例如,当我运行这段代码时,它会询问值,我现在给出值“a”和“b” p = a 和 q = b 那么如何使用这个 p 和 q 访问类的变量?
输出/错误: 输入变量名:a
输入变量名:b Traceback(最近一次调用最后一次):
文件“/home/untitled2.py”,第 22 行,在 主要()
文件“/home/untitled2.py”,第 19 行,在 main Abc.abc(Abc.p, Abc.q)
AttributeError: type object 'Abc' has no attribute 'p'
【问题讨论】:
-
您希望
Abc.p做什么?p未在类Abc中定义。 -
我认为您需要遵循有关如何使用 Python 类的基本教程。
-
我不明白这样做您希望解决什么问题。您希望用户键入
a和Abc类来决定这应该翻译成值2?首先,为什么?其次,您是否考虑过只使用dict来创建这样的映射?
标签: python class oop class-variables