python 在def()外部调用def()内的函数[duplicate]

b5buobof  于 2022-12-25  发布在  Python
关注(0)|答案(3)|浏览(152)
    • 此问题在此处已有答案**:

How do I get a result (output) from a function? How can I use the result later?(4个答案)
去年关闭了。
我怎样才能到达def函数中的一个元素,我想用def函数中的p来计算mean

import numpy as np 
k= np.array([1,2,3,4,5,6])
def func():
    p = k + 5
    l = k + 25
    
func()
mean = p + 10
33qvvth1

33qvvth11#

函数执行完毕后,所有对函数中变量的引用都将被清除并从堆栈中移除。要获取函数中的值,必须使用return关键字。
示例:

def test_return_string():
    return "Hello World"

my_var = test_return_string()  # "Hello world" is returned and stored in my_var
print(my_var)  # Prints "Hello world"

如果没有为函数定义return语句,则默认情况下函数将返回None
请注意,返回函数将结束其执行。

    • TL; DR-要获取变量p,只需在函数末尾输入return p。**
9vw9lbht

9vw9lbht2#

import numpy as np 
k= np.array([1,2,3,4,5,6])
def func(k):
    p = k + 5
    l = k + 25
    return(p,l)
    
p,l= func(k)
mean = p + 10
bkhjykvo

bkhjykvo3#

import numpy as np 
k= np.array([1,2,3,4,5,6])
def func(k):
    p = k + 5
    l = k + 25
    return p
    

mean = func(k) + 10

在这里,我尝试使用相对于您的帖子更改较少的内容来创建更紧凑的示例。
当你定义一个函数的时候,通常你想把一个变量作为参数传递,使输出与这个变量相关,所以你使用def func(variable):,这里是def func(k):,这是第一个“错误”。
然后,如果你想让函数返回结果,你需要return语句。这是第二个“错误”。
最后,如果你想使用函数返回的结果,你需要将结果存储在一个变量中,或者“就地”使用它。
func(k)不打印(python shell除外)也不给变量赋值,它只是在运行,仅此而已。
print(func(k))显示终端中的结果(对于脚本/python shell ),其中p = func(k)func(k)返回的值赋值给变量p。然后,您可以使用p计算mean = p + 10的平均值。或者,您可以直接使用func(k)。因为它为您的平均值计算提供了与p相同的值(原因p = func(k)
最后,在你的函数计算中,l现在看起来是无用的,所以也许可以考虑把它去掉或者在里面使用它。

相关问题