在Python中运行时创建对象

Dan*_*ter 3 python oop concept

在运行时创建对象时,我有一个掌握OOP概念的问题.我所研究的所有教育代码都定义了特定的变量,例如'Bob',并将它们分配给一个新的对象实例.Bob = Person()

我现在理解的是如何设计一个在运行时创建新对象的模型?我知道我的短语可能有问题,因为所有对象都是在运行时生成的,但我的意思是,如果我要在终端或UI中启动我的应用程序,我将如何创建新对象并对其进行管理.我不能真正定义新的变量名称吗?

我遇到这个设计问题的一个示例应用程序是存储人员的数据库.用户获得终端菜单,允许他创建新用户并分配姓名,工资,职位.如果你想管理它,调用函数等,你将如何实例化该对象并稍后调用它?这里的设计模式是什么?

请原谅我对OPP模型的不了解.我正在阅读课程和OOP,但我觉得在继续学习之前我需要了解我的错误.如果有任何我需要澄清的内容,请告诉我.

Amb*_*ber 7

列表或词典之类的东西非常适合存储动态生成的值/对象集:

class Person(object):
    def __init__(self, name):
        self.name = name
    def __repr__(self):
        print "A person named %s" % self.name

people = {}
while True:
    print "Enter a name:",
    a_name = raw_input()

    if a_name == 'done':
        break

    people[a_name] = Person(a_name)

    print "I made a new Person object. The person's name is %s." % a_name

print repr(people)
Run Code Online (Sandbox Code Playgroud)