如果 None 使用 attr 如何使用默认值

How to use default value if None using attr

我目前设法找到了一个我无法解决的问题。我目前正在使用 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 传递给数据类,我如何打印出默认值?

经过调查。我能够找到 attr 文档:https://www.attrs.org/en/stable/api.html?highlight=none#attr.converters.default_if_none