假设我有一个方法可以返回一个值,或者可以被快速调用,看看我是否得到了预期的返回值。你知道吗
from pprint import pprint
from my_module import get_data
def quicktest():
#pseudocode here to illustrate what I want
if isUsedForAssignment:
return get_data()
else:
pprint(get_data())
这里的想法是我检查返回的数据以确保结构正确;但是如果我不关心这个,我宁愿赋值。这样我就进入Python解释器并键入:
import thismodule as thism
thism.quicktest()
…而不是为了正确查看数据结构而不断导入pprint。你知道吗
这也许是一个有点迂腐的例子,但它在我心中引发了一个问题:一个方法是否可以判断它是用来赋值还是直接调用。你知道吗
从技术上讲,您可以检查父帧的字节码或源代码。但这不仅是令人难以置信的脆弱,黑客和复杂,它也是一个确定的方式来表明你做了错事。别那么做。编写方法以始终简单地返回值,并在调用站点进行打印。或者,如果打印是非平凡的,则编写一个单独的方法来执行打印。你知道吗
相关问题 更多 >
编程相关推荐