Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/347.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Python中转换到其他类_Python_Inheritance - Fatal编程技术网

在Python中转换到其他类

在Python中转换到其他类,python,inheritance,Python,Inheritance,我有一个代码(简化): 在我的代码中的某个地方,我有一个A的实例,但我需要创建一个B类的实例,它将包含来自A实例的所有数据。。。我觉得自己很愚蠢,但我不想做这样的事: class B(A): def __init__(self,a1,a2,a3,a4,..): self.a1 = a1 self.a2 = a2 然后像这样打电话: obj_b = B( obj_a.a1, obj_a.a2,...) 另一个选项是更改A实例上的\uuuuu class\

我有一个代码(简化):

在我的代码中的某个地方,我有一个A的实例,但我需要创建一个B类的实例,它将包含来自A实例的所有数据。。。我觉得自己很愚蠢,但我不想做这样的事:

class B(A):
    def __init__(self,a1,a2,a3,a4,..):
        self.a1 = a1
        self.a2 = a2
然后像这样打电话:

obj_b = B( obj_a.a1, obj_a.a2,...)

另一个选项是更改A实例上的
\uuuuu class\uuuu
变量

a = A()
a.__class__ = B

请注意,这通常是一个坏主意。验证
obj
的类型,并仅复制重要的属性。这将暂时解决问题,我会在问题出现时尽快解决,但感谢您的警告。
\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu
可能不可用,如果使用obj中
class B(A):
    def __init__(self, obj):
        self.__dict__.update(obj.__dict__)
a = A()
a.__class__ = B