我对Python还比较陌生,我有一个(我猜)关于Python函数的基本问题
我正在重新观看基础教程,以便真正了解更多的结构,而不仅仅是使用它们。我使用了教程中的一些基本代码,并尝试了不同的简单变体,但我不完全了解结果以及何时引用函数,即何时调用函数的返回值,何时执行函数
x=6
def example():
globx = x
print(globx)
globx+=5
print(globx)
example()
这定义了函数,然后调用它来执行,当它被执行时,它打印6,然后打印11,如预期的那样
现在:
x=6
def example():
globx = x
print(globx)
globx+=5
print(globx)
print(example())
我本来希望它打印为“None”,因为print正在寻找函数的返回值来打印它,但是example()没有返回值。取而代之的是6,11和无正在打印。所以我假设print(example())调用example()的返回值来打印它,但是在执行函数之前(如果我弄错了,请纠正我)
即使我只是在函数定义之后将返回值赋给变量x=example(),它也会执行函数并打印6和11
x=6
def example():
globx = x
print(globx)
globx+=5
print(globx)
x = example()
函数总是在被写出来的时候被执行吗((def中的Ecxcept) 有没有一种方法可以在函数返回值没有完全执行的情况下使用它? 例如,如果我有一个更复杂的代码,在某个时候我想使用函数返回值,但不希望它运行
提前谢谢
你会被函数返回什么和函数做什么弄糊涂
在您的例子中,有一个函数有两个
print()
语句。这些语句与函数将返回的值无关,并将在每次调用函数example()
时打印相应的值函数的返回值是使用
return
关键字定义的,如果没有定义,则返回值是None
。显然,为了让函数返回一个值,需要执行函数一个函数做某事,它实际上执行一个函数。如果希望该函数在执行其任务时显示结果,可以打印()内容。如果您只想让它完成它的工作并保存结果以备以后使用,那么可以将它们返回到调用函数的变量。你两个都可以
你所说的似乎是完全正确的,即使它似乎偏离了你的预期
通常,您可以将其视为,当函数末尾有圆括号时,即
example()
,函数被执行最后一个问题有点含糊,但是您可以在函数中使用
return
关键字,在某个时候停止执行该函数。这在执行一些资源密集型计算的函数中是有意义的,但偶尔也有机会走捷径举个例子
用
calculate_thing(shortcut=True)
调用此函数将很快返回3
,因为当我们点击return 3
时,函数将停止执行。另一方面,通过calculate_thing(shortcut=False)
或calculate_thing()
(False
是shortcut
的默认值)调用它将使函数运行一段时间,进行一些计算,然后返回分配给变量result_of_calculations
的任何值相关问题 更多 >
编程相关推荐