我正在尝试根据作为字符串输入提供的对象的名称来获取对象。例如,
sunny = WeatherCondition(...)
rainy = WeatherCondition(...)
snowy = WeatherCondition(...)
weather = input("Enter one of three weather conditions -> sunny, rainy, snowy")
变量weather
的值将为晴天,下雨或下雪。
基于此,我想获取三个对象之一并将其分配给另一个变量。
我可以简单地为类WeatherCondition
定义一个实例属性,但是前提是我无法实现。
答案 0 :(得分:1)
如@ juanpa.arrivillaga所述,最好的方法是使用dict
将每种天气类型(晴天,多雨等)映射到其各自的WeatherCondition
实例:
weathers = {'sunny': WeatherCondition(...),
'rainy': WeatherCondition(...),
'snowy': WeatherCondition(...)}
然后您可以像这样访问每个WeatherCondition
对象:
weathers['rainy']
由于您将天气类型作为用户输入,因此它将看起来像这样:
weather = input("Enter one of three weather conditions -> sunny, rainy, snowy")
weathers[weather]