Трудности с кастомизацией типов python

Рейтинг: 1Ответов: 1Опубликовано: 23.08.2023

Столкнулся с такой проблемой, сделал кастомный тип для работы с данными, прилагаю код

class uint16_t:
    def __init__(self, value=0):
        self.bit_size = 16
        super().__init__(value)
        
class int32_t:
    def __init__(self, value=0):
        self.bit_size = 32
        super().__init__(value)

class Foo:
    '''Базовый класс.'''

class Bar(Foo):
    first: uint32_t
    second: uint16_t

Пример вызова

obj = Bar(first=10, second=5)

при проверке типов получаю:

type(obj.first) - <class 'int'>, должен быть <class 'uint32_t'>
type(obj.second) - <class 'int'>, должен быть <class 'uint16_t'>

Что нужно добавить чтобы эта фигня заработала?

Ответы

▲ 3

Забыли инициализировать с помощью класса:

obj = Bar(first=uint32_t(10), second=uint16_t(5))