我有一个非常简单的函数,返回一个值。你知道吗
def GetNumber():
Number = 45
print("Getting Number")
print("Found Number = " + str(Number))
return Number
def UseNumber(current):
print("The current number is: " + str(current))
UseNumber(GetNumber())
但是,我的输出如下:
Getting Number
Found Number = 45
The current number is: 45
我在应用程序的另一部分中使用了def GetNumber
中的打印输出,因此我需要将它们保留在那里,但是我想从GetNumber中提取值,而不必每次都重新运行整个GetNumber函数。你知道吗
如何使用返回值而不让它实际运行整个函数并打印出来?你知道吗
理想情况下,我希望我的输出是:
The current number is: 45
这有可能吗?你知道吗
您可以添加一个函数参数,允许您在函数中打印或不打印:
GetNumber(True)
将从函数中打印出数字,而GetNumber()
只返回数字而不打印。请注意,在我上面的示例中,它返回的数字与print_num
的设置无关。你可以使用它,或者干脆忽略它。你知道吗我们设置
print_num=False
。这意味着如果参数没有被发送进来,我们就为它设置一个默认值False
。你知道吗你的要求不能这样做。处理这个问题的一种方法是重构代码,将不同部分中使用的部分分解成不同的函数,然后在需要的地方调用所需的部分。在本玩具示例中,这可以通过以下方式实现:
这样可以更好地分离逻辑和ui。你知道吗
通常,您需要一些分支控件来指定要执行的函数部分,这样就不会编写死代码。但为了纯粹回答您的问题,返回值将中断函数的执行。示例如下:
这只会返回45。但是,这不是编写此方法的最佳方式,因为这些print语句永远不会执行。我建议编写一个新方法,删除不需要的代码,或者引入一些分支条件(
if
else
)。对不起,我的第一个模糊的回答。你知道吗相关问题 更多 >
编程相关推荐