将`Optional[T]`替换为`Union[T, None]`!🎉
项目描述
no-optional
这个代码重构将代码库中的typing.Optional[T]
替换为typing.Union[T, None]
。
为什么?
这个工具是从Sebastián Ramírez的推文(如下所示)以及我们之间的对话中受到启发的。
正如推文所说,我们做这件事有两个原因
- 编写
Union[str, None]
比Optional[str]
更明确。主要是因为Optional[str]
并不表示属性是可选的。它只表示它接受None
作为可能的值。 - 在Python 3.10+中,您可以像
str | None
一样进行类型注解,而不是上面两个。这比Optional[str]
更类似于Union[str, None]
。
安装
pip install no-optional
用法
在您要格式化的存储库中运行以下命令
python -m no_optional <files>
您还可以使用pre-commit。将以下内容添加到您的.pre-commit-config.yaml
文件中
- repo: https://github.com/Kludex/no-optional
rev: 0.4.0
hooks:
- id: no_optional
许可
本项目采用MIT许可。
项目详情
下载文件
下载适用于您平台的文件。如果您不确定该选择哪个,请了解有关安装包的更多信息。
源代码分发
本次发布没有可用的源代码分发文件。请参阅有关生成分发存档的教程。
构建分发
no_optional-0.4.0-py3-none-any.whl (6.8 kB 查看散列值)