昨天突然有的想法,然后试验可行以后就立即做出来了。这个库不仅仅控制 __all__
变量,而且严格控制导出的成员,未导出的成员则获取不到。
例子:
# mymodule.py
from modul import exports
@exports
def foo():
return 42
baz = "unexported"
bar = "hello"
exports.bar = bar
调用:
>>> import mymodule
>>> mymodule.foo()
42
>>> mymodule.bar
"hello"
>>> mymodule.baz
AttributeError: Module 'test' has no attribute 'baz'
>>> mymodule.__all__
['foo', 'bar']
除此之外还支持所有 dict API 以及 modul.exports = ...
整体赋值。
作为一个玩具项目,也不知会不会有什么用。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.