跳转到主要内容

@export 装饰器,用于将函数或类添加到 __all__

项目描述

python-exports

DRY替代__all__

exports - PyPI exports - Python Versions exports - license

exports - CI exports - pre-commit exports - basedmypy exports - basedpyright exports - ruff


安装

要安装exports包,您可以使用python-exports on PyPI

pip install python-exports

用法

>>> from exports import export

现在您可以使用它来添加到__all__,如下所示:

  • 函数装饰器

    >>> @export
    ... def spam():
    ...     ...
    
  • 类装饰器

    >>> @export
    ... class Ham:
    ...     ...
    
  • 按名称

    >>> from functools import reduce as fold
    >>> export('fold')
    

行为

如果模块没有__all__,则会创建它。否则,__all__将转换为列表,并追加导出。

注意事项

直接导出函数或类依赖于__name__属性,因此请考虑以下示例

>>> def eggs():
...     ...
>>> fake_eggs = eggs

如果我们想导出fake_eggs,那么这将不会工作

>>> export(fake_eggs)  # BAD: this will add `'eggs'` to `__all__`

在这种情况下,请使用名称

>>> export('fake_eggs')  # GOOD

如果您这样做,就会安全:

  • 直接用@export装饰函数或类
  • 使用plain export('...')调用时传递名称字符串

项目详情


下载文件

下载您平台上的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源分发

python_exports-1.2.0.tar.gz (4.8 kB 查看哈希值)

上传时间: 源代码

构建版本

python_exports-1.2.0-py3-none-any.whl (4.3 kB 查看哈希值)

上传时间: Python 3

支持