用于将全局变量注入函数调用的修饰程序。

inject-globals的Python项目详细描述


注入全局变量

将全局变量注入函数调用的函数。

用法示例:

一个简单的用法示例如下:

frominject_globalsimportinject_globals@inject_globals(a="Hello",b="World")defhello():print(f"{a}{b}")hello()

然而,这个例子有点傻。当你创建其他的装饰器时,它的力量就会显现出来,比如这个:

defrun_n_times(n):defmiddle(func):fromfunctoolsimportwraps@wraps(func)definner(*args,**kwargs):r=[]foriinrange(1,n+1):r.append(inject_globals(it=i)(func)(*args,**kwargs))returnrreturninnerreturnmiddle@run_n_times(3)deffoo():returnf"This is the iteration #{it}."assertfoo()==["This is the iteration #1.","This is the iteration #2.","This is the iteration #3."]

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
for循环的while部分在java中是执行每个过程还是只执行一次?   java Apache commons CLI未按预期进行解析?   应用程序键盘上的java错误按钮   Eclipse中java Visual Studio样式的输出控制台窗口   java如何在OpenGL中从像素中移除颜色(使其透明)   java如何修复错误“无法强制转换到com.sun.speech.freetts.VoiceDirectory”?   java如何使用jmockit创建虚拟实例?   必需变量,找到字符串java   java ListView未将ListView项选择显示到webView中   java在'synchronized(obj){…}'中'obj'参数的用途是什么?   java链表用户输入   XML-java中的非法字符   如何使用Java从maven nexus存储库下载工件列表