Как объект превращается в объект класса? - PullRequest
0 голосов
/ 17 октября 2019

Как object превращается в объект класса? Например:

>>> object
<type 'object'>

>>> class NewClass:
...     pass

Если бы кто-то начал с:

>>> o=object

Что нужно сделать в интерпретаторе, чтобы "преобразовать" этот объект в NewClass? (Или нельзя обойтись без синтаксиса класса?).

1 Ответ

0 голосов
/ 17 октября 2019

В общем, вы не можете просто «преобразовать» объект одного класса в другой;по умолчанию это несовместимые типы. Скорее вы пишете метод преобразования для старого класса, который возвращает желаемый объект нового класса. Например ...

class new_obj:
    def __init__(self, value=13):
        self.value = value


class old_obj:
    def __init__(self, value=7):
        self.value = value

    def to_new(self):
        return new_obj(value * value)

Ваша последовательность "преобразования" будет тогда

old_thing = old_obj(5)
new_thing = old_thing.to_new()
...