【问题标题】:python, how to assign object of a class already created with name in string variable [duplicate]python,如何分配已在字符串变量中使用名称创建的类的对象[重复]
【发布时间】:2017-07-03 10:52:25
【问题描述】:

以下是我的代码要求:

Class Employee:
    def __init__(self,age):
        self.age= age

main():

Mike = new Employee(20)
NamedEmployee = "Mike"

# Need some logic to refer Mike Object with value given in NamedEmployee 
string
# example
print(NamedEmployee.age) -- expect 20 here.

需要一些关于如何在 python 中实现这一点的见解。

【问题讨论】:

  • 最好使用字典:employees = {}; employees['Mike'] = new Employee(20).

标签: python string class object


【解决方案1】:

如果您希望 Namedemployee 由 Mike 唯一定义,那么您可以使用

    Class Employee:
        def __init__(self,age):
            self.age= age

    Mike = Employee(20)
    NamedEmployee = eval("Mike")
    print(NamedEmployee.age) # print 20 

如果你想有一个类别,定义一个像这样的字典:

    NamedEmployee = dict() 
    NamedEmployee['Mike'] = eval("Mike")

注意:由于安全问题,请谨慎使用 eval(),请参阅Security of Python's eval() on untrusted strings?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-11-19
    • 2013-03-05
    • 1970-01-01
    • 2011-03-10
    • 2020-07-18
    相关资源
    最近更新 更多