如何在python中的用户定义函数中调用声明的变量

问题描述

每当我在python中使用变量定义任何函数时,我都无法调用或打印该函数中声明的变量值,因此无法在后续代码行中使用该变量。 如果我知道我在哪里使用错了,那将真的很有帮助。

例如,以下几行代码创建500个数字的列表: 它给出了错误:NameError:未定义名称“ r1”

def createlist(r1):
    for n in range(1,500):
        return np.arange(r1,r1+n,1)
    r1 = 1
    print(createlist(r1))

解决方法

问题是由于缩进造成的。

您在函数中声明了r1。由于print(createlist(r1))无法看到r1,因此会出现错误。所以解决方案是:

import numpy as np
def createlist(r1):
    for n in range(1,500):
        return np.arange(r1,r1+n,1)
r1 = 1
print(createlist(r1))

希望它可以帮助您

,

此代码无法满足您的需求。

代替尝试此代码。

import numpy as np
def createlist(r1):
    for n in range(1,500):
        print(np.arange(r1,1))
r1 = 1
#print(createlist(r1))
createlist(r1)

,

我认为您想正确缩进代码,并且还想返回每次迭代的结果,您可以尝试一下

import numpy as np


def createlist(r1):
    op = []
    for n in range(1,500):
        op.append(list(np.arange(r1,r1 + n,1)))   # op is storing the list generated in each iteration
    return op   # now you can return op,a list which contains results from the loop


r1 = 1
print(createlist(r1))

p.s。请提供您要做什么的更多说明。