Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/347.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 检查是否存在';“有什么事吗?”;“等待”;函数的返回值_Python - Fatal编程技术网

Python 检查是否存在';“有什么事吗?”;“等待”;函数的返回值

Python 检查是否存在';“有什么事吗?”;“等待”;函数的返回值,python,Python,我想知道是否有人能想出一种方法来检查函数是否需要在Python中返回有意义的值。也就是说,检查返回值是否用于任何内容。我猜答案是否定的,最好重组我的程序流程。该函数从网络套接字提取其返回值。如果返回值不被使用,我不想浪费获取结果的资源 我已经尝试使用回溯来发现电话线,但没有成功。下面是我想到的一个例子: >>> def func(): ... print should_return() ... >>> func() False >>> re

我想知道是否有人能想出一种方法来检查函数是否需要在Python中返回有意义的值。也就是说,检查返回值是否用于任何内容。我猜答案是否定的,最好重组我的程序流程。该函数从网络套接字提取其返回值。如果返回值不被使用,我不想浪费获取结果的资源

我已经尝试使用回溯来发现电话线,但没有成功。下面是我想到的一个例子:

>>> def func():
...  print should_return()
...
>>> func()
False
>>> ret = func()
True
函数“知道”其返回值正在被赋值

以下是我目前的解决方法:

>>> def func(**kwargs):
...   should_return = kwargs.pop('_wait', False)
...   print should_return
...
>>> func()
False
>>> ret = func(_wait=True)
True

所有函数在完成时都返回一个值


如果你问他们是否应该返回,那么你实际上是在问

导入这个正文的第二行说的是:“显式优于隐式”。在这种情况下,如果提供可选参数,代码将更加明显(因此更容易理解)、简单、快速和安全。将其作为一个单独的参数保存,名称类似于
wait


虽然您很难神奇地实现它,但它将是令人讨厌的代码,很容易在Python的新版本中崩溃,而且不明显。避开那条路线;这就是疯狂的道路。

Python中的所有函数都会返回。如果没有显式返回,函数将不返回任何值

===========

def func(): 尽管如此: 通过

此函数不返回


无法确定任意函数是否会返回。如果可以的话,你已经解决了图灵问题。

< P>你可以考虑返回未来,或者“许诺”。也就是说,返回另一个函数,该函数在执行时执行必要的工作以实际确定结果。我似乎在想,你想要的是惰性评估,即“只评估你需要的东西”(或多或少),而不是你的问题,它令人困惑地问:“只评估它返回的值,这可能是需要的”.

一种方法可能是使用
\uu del\uu
方法返回对象,该方法依赖于垃圾收集器在将来某个时间删除未使用的值。
请注意,这不会立即发生;它甚至可能根本不会发生:)

Python中的所有函数都会返回。如果不显式返回,函数返回
None
。实际上,Python函数并不总是返回。但是,如果它们确实返回,那么它们总是返回一个值,除非指定,否则该值为None。我理解这一点,但大多数情况下,返回
None
的函数相当于不返回任何内容。在这种情况下,我需要检查它是否应该返回除
None
以外的任何内容。如果您碰巧想执行帧检查和字节码读取,您可以查看该值是否用于函数调用或返回某些内容。但是Python风格很差;巨蟒不鼓励魔法。至于您的解决方法,不要称之为
\uuuu return\uuuu
;引用“永远不要发明这样的名称;只使用文档记录的名称。”如果您想将其用于特定情况,请使用其他变量名称来指定。@Sky:我觉得您的问题被误解了,我对其进行了编辑以使其更清楚。我觉得很有趣。如果您不喜欢,请毫不犹豫地回滚我的编辑。我知道任何函数都会返回值,我更想问的是,是否可以确定函数是否应该返回有意义的值。您所说的“有意义”是什么意思?这,还是同样的停顿问题。