控制模块的导出成员
项目描述
Modul
/moˈduːl/
控制模块的导出成员
需求
Modul需要Python >=3.7
安装
$ python -m pip install modul
Modul是一个单文件模块,代码少于200行,无依赖项。它可以轻松地复制到您的项目中。
快速开始
编写导出有限成员的模块
# mymodule.py
from modul import exports
@exports
def foo():
return 42
baz = "unexported"
bar = "hello"
exports.bar = bar
在另一个模块或REPL中
>>> import mymodule
>>> mymodule.foo()
42
>>> mymodule.bar
"hello"
>>> mymodule.baz
AttributeError: Module test has no attribute baz
>>> mymodule.__all__
['foo', 'bar']
用法
-
使用装饰器导出函数
@exports def foo(): return 42
-
使用属性集导出变量
exports.bar = 42
注意,要在模块内部使用该变量,您仍需要为它声明一个变量
bar = 42 exports.bar = bar
-
使用项目集导出变量
exports["bar"] = 42
此外,
exports
对象支持所有dict
APIexports.update({"bar": 42})
-
导出(name, value)对的映射
exports({ "bar": 42, "baz": "hello" })
-
您甚至可以进行条件导出和从函数调用中进行导出
flag = True if flag: exports.foo = 42 def export_bar(): exports.bar = 42 export_bar()
-
或者,您可以将成员分配给模块的
exports
属性import modul modul.exports = { "bar": 42, "baz": "hello" }
注意,在这种情况下,您不能使用
exports = <variable>
,因为这会丢失对API的引用。并且每次赋值都会覆盖前一个赋值,因此模块中只能有一个赋值。
项目详情
下载文件
下载您平台上的文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。
源分布
modul-0.2.0.post0.tar.gz (5.1 kB 查看哈希)
构建分发
modul-0.2.0.post0-py3-none-any.whl (4.4 kB 查看哈希)
关闭
modul-0.2.0.post0.tar.gz 的哈希
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 1caca5024c3437ea3dc38a0aa51576071f70cde2b91ed4ed7fbcb4e207c2f355 |
|
MD5 | 156bd8e56c1866f6d0ad3cf50ba35749 |
|
BLAKE2b-256 | c0d62cf33c2f1f48fd3fcab140744fd4535b8e4c07ff357d398f871456e92a56 |
关闭
modul-0.2.0.post0-py3-none-any.whl 的哈希
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 780ca04b649a945c2373f8ce242f1072cda13d1f431c5ae14415fc033aa084fe |
|
MD5 | 6fd47d815f451962e350e80b214a6afc |
|
BLAKE2b-256 | 22040fb56c0e08cc3ea2e1f40fede8cb8370804945c312afa18b0c2340da0551 |