Как использовать значение по умолчанию, если нет, используя attr

#python-3.x #attributes #python-dataclasses

Вопрос:

В настоящее время мне удалось найти проблему, которую я не могу решить. В настоящее время я работаю с attr.ib, где пытаюсь понять, как я могу использовать значение по умолчанию, если мы отправим значение None в класс данных.

Вот что я сделал

test.py

 from test2 import Data

test = Data(image=None)
print(test)

# ---------------- #

test2 = Data()
print(test2)

>>> Data(image=None)
>>> Data(image='https://i.imgur.com/R7mqXKL.png')
 

test2.py

 from typing import Optional

import attr


@attr.dataclass
class Data:
    image: Optional[str] = attr.ib(default="https://i.imgur.com/R7mqXKL.png")
 

Интересно, как я могу распечатать значение по умолчанию вместо этого, если мы передадим значение None в класс данных?

Ответ №1:

После расследования. Мне удалось найти подтверждающую документацию: https://www.attrs.org/en/stable/api.html?выделите=нет#attr.конвертеры.default_if_none