当前位置: 首页 > 面试题库 >

Python中未定义函数错误

訾高飞
2023-03-14
问题内容

我试图在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

您应该看到所需的输出。现在,如果您处于交互式会话中,它应该像这样:

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

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

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

myfunction.py

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

程序

#!/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会话:

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

相同的过程适用。现在,包导入并不是那么简单,所以我建议您研究模块如何与Python一起使用。我希望这对您的学习有所帮助,并祝您好运!



 类似资料:
  • 问题内容: 我对python相对较新,并且在命名空间方面遇到一些问题。 问题答案: 由于不知道是谁,因此您看到的味精应该在调用时发生(调用很好),请将其更改为:

  • 问题内容: 在Scala Play中使用AngularJS时,出现此错误。 错误:参数“ MainCtrl”不是函数,未定义 我正在尝试创建包含一周中各天的表格。 请看一下我的代码。我检查了控制器的名称,但这似乎是正确的。注意:此SO答案中使用的代码 index.scala.html MainCtrl.js 问题答案: 从模块名称([myApp])中删除 并添加到html,它应该可以工作。

  • 问题内容: 我正在学习python并出现此错误。我可以找出错误在哪里什么在代码中。 , 。 当我运行程序 它输出你叫什么名字?(我输入d) 这给出了错误 这是来自Python 3的Absolute Beginners的示例代码。 问题答案: 在Python 2.x中,期望的是Python表达式,这意味着如果你键入d它,它将把它解释为名为d 的变量。如果你输入,那就可以了。 你可能真正想要的2.x是

  • 我试图使用python3类型注释功能。 以下是一些没有注释的玩具函数: 这些很好用。但一旦我为添加了一些注释,就会出现错误: 为什么会发生这种情况?我该如何解决?

  • 在index.js,我有: 我从以下地方复制粘贴了代码:https://firebase.google.com/docs/functions/get-started 不知何故,当我使用 我得到: 错误:分析函数触发器时出错。ReferenceError:未在对象上定义函数。(/home/[USERNAME HERE]/functions/index.js:1:87)在模块中_在对象处编译(modu

  • 好吧,我知道我试图混合mysql和MySQLI....