我对Python很新,只是学习它,而且我在运行我的函数时遇到了麻烦。我在Matlab中有一些背景知识,所以这可能是我的一些困惑所在。
这是我在脚本中编写的代码,在我的PC上使用Notepad ++:
def print_order_numbers(amount):
i = 0
numbers = []
while i < amount:
print("At the top i is %d" %i)
numbers.append(i)
i = i + 1
print ("Numbers now: ", numbers)
print("at the bottom i si %d" %i)
print ("the numbers: ")
for num in numbers:
print (num)
然后在python中,使用:
加载函数后from filename import print_order_numbers
但是,因为函数本身没有返回任何内容并且没有给出参数,所以这不起作用。所以当我尝试调用函数时,就像这样:
print_order_numbers(2)
它给了我错误回溯: 文件“”,第1行,in NameError:未定义名称'print_order_numbers'
我发现如果我把这个调用放在与编写函数相同的脚本中,当我导入函数时,它会正确运行它。为什么我的函数被Python认为是一个模块,为什么在脚本中调用函数呢?
有没有办法在python命令窗口中直接调用该函数而不必将调用放在函数所在的脚本中? Matlab的函数允许你这样做,如果我想从另一个脚本调用一个函数,它会使事情变得容易很多。 (或者我只需要在与调用它的其余代码相同的脚本中使用该函数吗?)
很抱歉,如果这是一个基本问题,我只是希望更好地理解这个主题,并且无法在我查看的所有问题/教程中找到一个直接的答案。提前谢谢!
答案 0 :(得分:0)
您的文件名称是print_order_numbers.py吗?如果是这样,您需要更改名称。解释器认为你指的是模块而不是函数。
如果不是,你可以试试
import filename
filename.print_order_numbers(2)
如果做不到这一点,你需要提供更多的背景,正如其他人所说的那样。