gpt4 book ai didi

python - Python中的函数未定义错误

转载 作者:IT老高 更新时间:2023-10-28 22:15:16 25 4
gpt4 key购买 nike

我正在尝试在 python 中定义一个基本函数,但是当我运行一个简单的测试程序时,我总是得到以下错误;

>>> pyth_test(1, 2)

Traceback (most recent call last):
File "<pyshell#2>", line 1, in <module>
pyth_test(1, 2)
NameError: name 'pyth_test' is not defined

这是我用于此功能的代码;

def pyth_test (x1, x2):
print x1 + x2

更新:我打开了名为 pyth.py 的脚本,然后当它给出错误时,我在解释器中输入 pyth_test(1,2)。

感谢您的帮助。 (我为这个基本问题道歉,我以前从未编程过,我正在尝试学习 Python 作为一种爱好)


import sys
sys.path.append ('/Users/clanc/Documents/Development/')
import test


printline()



## (the function printline in the test.py file
##def printline():
## print "I am working"

最佳答案

是的,但是 pyth_test 的定义是在哪个文件中声明的?它是否也在它被调用之前定位?

编辑:

为了透视它,创建一个名为 test.py 的文件,其内容如下:

def pyth_test (x1, x2):
print x1 + x2

pyth_test(1,2)

现在运行以下命令:

python test.py

你应该看到你想要的输出。现在,如果你在一个交互式 session 中,它应该是这样的:

>>> def pyth_test (x1, x2):
... print x1 + x2
...
>>> pyth_test(1,2)
3
>>>

我希望这能解释声明的工作原理。


为了让您了解布局的工作原理,我们将创建一些文件。使用以下内容创建一个新的空文件夹以保持干净:

myfunction.py

def pyth_test (x1, x2):
print x1 + x2

program.py

#!/usr/bin/python

# Our function is pulled in here
from myfunction import pyth_test

pyth_test(1,2)

现在如果你运行:

python program.py

它会打印出 3。现在解释一下出了什么问题,让我们这样修改我们的程序:

# Python: Huh? where's pyth_test?
# You say it's down there, but I haven't gotten there yet!
pyth_test(1,2)

# Our function is pulled in here
from myfunction import pyth_test

现在让我们看看会发生什么:

$ python program.py 
Traceback (most recent call last):
File "program.py", line 3, in <module>
pyth_test(1,2)
NameError: name 'pyth_test' is not defined

如上所述,由于上述原因,python 无法找到该模块。因此,您应该将声明放在最前面。

现在,如果我们运行交互式 python session :

>>> from myfunction import pyth_test
>>> pyth_test(1,2)
3

同样的过程适用。现在,包导入不是那么简单,所以我建议你看看 modules work with Python .我希望这对您的学习有所帮助并祝您好运!

关于python - Python中的函数未定义错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5986860/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com