Python方法是否可以检查它是否用于赋值?

2024-04-25 07:00:11 发布

您现在位置:Python中文网/ 问答频道 /正文

假设我有一个方法可以返回一个值,或者可以被快速调用,看看我是否得到了预期的返回值。你知道吗

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。你知道吗

这也许是一个有点迂腐的例子,但它在我心中引发了一个问题:一个方法是否可以判断它是用来赋值还是直接调用。你知道吗


Tags: 方法fromimportdatagetheremydef
1条回答
网友
1楼 · 发布于 2024-04-25 07:00:11

从技术上讲,您可以检查父帧的字节码或源代码。但这不仅是令人难以置信的脆弱,黑客和复杂,它也是一个确定的方式来表明你做了错事。别那么做。编写方法以始终简单地返回值,并在调用站点进行打印。或者,如果打印是非平凡的,则编写一个单独的方法来执行打印。你知道吗

相关问题 更多 >