【问题标题】:Call a particular python class using User input [duplicate]使用用户输入调用特定的python类[重复]
【发布时间】:2020-03-09 20:05:03
【问题描述】:

我是 python 的新手,如果这是一个错误的问题,希望您不要介意。我有不同的类别类,其中包含方法和返回语句。我需要分别调用用户输入的特定类。例如,如果用户输入一个特定的类别,如“旅行”,我需要调用名为“旅行”的类。 我编写了一个简单的代码,将用户输入保存在一个名为 category 和 values 的变量中。我试图调用文件calculate.py 下的类。

category = args.category values = args.values obj = calculate.category(values) obj.calc()

【问题讨论】:

标签: python python-3.x class


【解决方案1】:

最安全的方法是在某处放置一个字典,指定预先选择的用户响应和相关类之间的对应关系。例如,如果您有 InternationalTravelDomesticTravelOverseasTravel 类,也许您可​​以这样做:

correspondence = {
  'international': InternationalTravel,
  'domestic': DomesticTravel,
  'overseas': OverseasTravel,
}

travel_type = input("What type of travel? ")
try:
  travel = correspondence[travel_type]()  # get the class, then initialize a new instance
except KeyError:
  print("That's not a possible type of travel.")

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-11-24
    • 2018-09-13
    • 2013-08-24
    • 2011-12-28
    • 1970-01-01
    • 2016-09-14
    • 2018-05-06
    • 1970-01-01
    相关资源
    最近更新 更多