【发布时间】:2018-12-14 06:35:23
【问题描述】:
我正在寻找一种在 python 中停止函数内代码的某些部分的方法,但仅当函数的输出分配给变量时。如果该函数在没有任何分配的情况下运行,那么它应该在其内部运行。
类似这样的:
def function():
print('a')
return ('a')
function()
A=function()
我第一次调用function() 它应该在屏幕上显示a,而第二次调用print 时应该什么都没有,并且只将返回的值存储到A。
我没有尝试过任何东西,因为我是 Python 的新手,但我想象它会类似于 if __name__=='__main__': 检查脚本是用作模块还是直接运行的方式。
【问题讨论】:
-
函数不是这样工作的。他们不知道他们的返回值会发生什么。如果您想改变他们的行为,请使用参数。在您的情况下,最好在函数之外进行打印:
print(function()) -
嗨,Aris,您能否解释一下“停止代码的某些部分”是什么意思?您希望指令停止执行流程,还是避免它们?无论如何,我认为在 python 中无法实现这样的行为,因为在函数调用的范围内,没有迹象表明您将如何处理返回的值。您必须为函数提供一个参数,告诉它使用默认值跳过/停止以简化调用。
python def call_and_skip(skip_instructions=False): if not skip_instructions: call_stuff_or_not() call() -
@zesk:我建议您删除您的评论并将其发布为答案-可能会得到一些分数!
-
@martineau:好的,让我们这样做:)
标签: python return variable-assignment