【问题标题】:how can i access the variable of class with input in python如何在python中使用输入访问类的变量
【发布时间】: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 类的基本教程。
  • 我不明白这样做您希望解决什么问题。您希望用户键入aAbc 类来决定这应该翻译成2?首先,为什么?其次,您是否考虑过只使用dict 来创建这样的映射?

标签: python class oop class-variables


【解决方案1】:

如果属性名称在变量中,请使用getattr()

getattr(Abc, p)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-02-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-31
    相关资源
    最近更新 更多