python - 由程序的用户创建类

标签 python class oop instance

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

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

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

RamMemory class

nofarticle='-'

model='-'

speed='-'

capacity='-'

我如何从这 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()

最佳答案

类似这样的事情

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/

关于python - 由程序的用户创建类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27215829/

相关文章:

python - 如何将依赖链接添加到 setup.py 中的 repo 子目录

python - Python 中的最小/最大堆实现

python - 如何根据参数指定调用哪个__init__?

Objective-C:一个在不同时间指向不同类的指针

java - 反转模数运算符以进行解密

php - 从两个父类继承

python - 单击按钮后使用 Selenium 切换到新窗口

python - 将嵌套列表转换为 dict,其中列表的第一个元素是 dict 的关键

c++ - C++类中的char数组成员

php - 在 PHP 中的子构造函数之前调用父构造函数