【发布时间】:2020-08-02 01:11:48
【问题描述】:
我有一个程序定义函数 verboseprint 以基于布尔值打印或不打印到屏幕:
# define verboseprint based on whether we're running in verbose mode or not
if in_verbose_mode:
def verboseprint (*args):
for arg in args:
print arg,
print
print "Done defining verbose print."
else:
# if we're not in verbosemode, do nothing
verboseprint = lambda *a: None
我的程序使用多个文件,我想在所有文件中都使用这个详细打印的定义。所有文件都将通过 in_verbose_mode 布尔值。我知道我可以在一个文件中单独定义verboseprint,然后将其导入我的所有其他文件,但我需要函数定义能够基于布尔值以两种不同的方式声明。
总而言之:我需要一个可以以两种不同方式声明另一个函数的函数,然后我可以将其导入到多个文件中。
任何帮助将不胜感激。
【问题讨论】:
-
你想声明一个函数并以不同的方式在任何地方使用它,这就是多态的工作原理:stackoverflow.com/questions/1031273/…。而且通常情况下,你不会通过这种方式在 python 中定义函数。
-
我不明白您所说的“所有文件都将通过
in_verbose_mode布尔值”是什么意思。你的意思是每个文件都有它自己的变量吗?