按程序用户创建类

时间:2014-11-30 17:05:35

标签: python class oop instance

使用我的程序的用户如何创建一个类?例如,我默认在程序中有这个类:

class OpticalDevices:
    def __init__(self,nofarticle='-',model='-')
        self.nofarticle=nofarticle
        self.model=model

现在用户想要添加一些其他类,他不想在OpticalDevices中添加任何内容,他想在其他类中添加一个例如RamMemory。这个课程不存在,所以他需要创建它。直到此时才知道类的名称,因此我无法直接在代码中创建类。他输入了他想要的属性,结果是:

  

RamMemory类

     

nofarticle =' - '

     

模型=' - '

     

速度=' - '

     

容量=' - '

我如何从这5个字符串中创建它并让它保留在代码中,或者如果它保存在文件中以从文件中加载这5个字符并创建类:

class RamMemory:
    def __init__(self,nofarticle='-',ram_type='-',model='-',speed='-',capacity='-'):
        self.nofarticle=nofarticle
        self.ram_type=ram_type
        self.model=model
        self.capacity=capacity
        self.speed=speed

如何从字符串创建类的实例?例如:

s="opticaldevice1"

现在我要创建它:

opticaldevice1=OpticalDevices()

1 个答案:

答案 0 :(得分:1)

类似这样的事情

type('RamMemory',() /*Object is base class*/, {nofarticle='-', ram_type='-',.. })

https://docs.python.org/3/library/types.htmlhttp://www.jeffknupp.com/blog/2013/12/28/improve-your-python-metaclasses-and-dynamic-classes-with-type/