【发布时间】:2017-01-05 00:00:02
【问题描述】:
我创建了一个名为Earthquake 的类,它将相关的地震数据(震级、撞击时间等)存储在类变量中。我想询问用户他们想查看哪些数据,然后像这样为他们打印出这些数据:
earthquake1 = Earthquake()
answer = input("What data would you like to see?")
print(earthquake1.answer)
在上面的例子中,如果用户回答magnitude,我想打印出类变量earthquake1.magnitude。
有没有办法做到这一点?
【问题讨论】:
-
可能
getattr... 也很容易用eval完成,但eval是邪恶的 -
@dfasoro 我宁愿不使用 if 语句,因为我有 20 多个属性
-
好的,@A.J. '下面的答案就足够了,我建议您清理/过滤输入,以防您在不一定希望用户看到的地震对象中有一些属性(除了 20)。
-
Earthquake实例如何知道他们正在发生的地震?
标签: python class python-3.x class-variables