gpt4 book ai didi

python - 将对象强制转换为 Python 中的派生类型

转载 作者:太空宇宙 更新时间:2023-11-03 18:53:43 25 4
gpt4 key购买 nike

我想将 A 类型的对象转换为 B 类型,这样我就可以使用 B 的方法。类型 B 继承 A。例如,我有类 B:

class B(A):
def hello(self):
print('Hello, I am an object of type B')

我的库 Foo 有一个返回 A 类型对象的函数,我想将其转换为 B 类型。

>>>import Foo
>>>a_thing = Foo.getAThing()
>>>type(a_thing)
A
>>># Somehow cast a_thing to type B
>>>a_thing.hello()
Hello, I am an object of type B

最佳答案

通常的方法是为 B 编写一个类方法,该方法接受 A 对象并使用其中的信息创建一个新的 B 对象。

class B(A):
@classmethod
def from_A(cls, A_obj):
value = A.value
other_value = A.other_value
return B(value, other_value)

a_thing = B.from_A(a_thing)

关于python - 将对象强制转换为 Python 中的派生类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17736020/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com