繁体   English   中英

如何从另一个 function 创建顶级模块 function?

[英]how to create top-level module function from another function?

给定一个带有__init__.py文件的模块mymodule ,我如何从该文件中的另一个 function 定义 mymodule 的函数?

__init__.py代码大纲:

def a():
    THISMODULE.__dict__["b"] = lambda: print("this is not weird")

a()
b() # Expect "this is not weird" output

mymoduleanothermodule的替代品,我想让代码更改像用import mymodule as thething import anothermodule as thething简单。 由于我还没有实现anothermodule的所有功能,我想向用户发送有关它的通知,而不是因“未定义”而崩溃。

__name__是由导入机制设置的模块属性,其计算结果为当前模块的名称。 将此添加到文件的顶部:

import sys

THISMODULE = sys.modules[__name__]

并且您已经拥有的 rest 应该可以正常工作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM