从不同的python脚本引用函数
我在本练习中学习python,它说的是找出在中给出的代码中的错误 在上一个练习25中,他让我们写了一些从不同的python脚本引用函数,python,Python,我在本练习中学习python,它说的是找出在中给出的代码中的错误 在上一个练习25中,他让我们写了一些def。在这段代码中,我看到他使用了words=ex25.break\u单词(句子)。现在我不确定我们是否能做到这一点 所以我所做的就是创建一个新的python脚本,并将其命名为testScript.py。在这篇文章中,我定义了一个函数,它只输出一些内容。在另一个python脚本中,假设myScript.py我所做的是 testScript.callFunction() 运行myScript.
def
。在这段代码中,我看到他使用了words=ex25.break\u单词(句子)
。现在我不确定我们是否能做到这一点
所以我所做的就是创建一个新的python脚本,并将其命名为testScript.py
。在这篇文章中,我定义了一个函数,它只输出一些内容。在另一个python脚本中,假设myScript.py
我所做的是
testScript.callFunction()
运行myScript.py
时出现错误:
NameError:未定义名称“testSCript”
但是,当我从作者给出的位置运行上述代码时,我没有收到任何此类错误。另外,在最后的学生常见问题部分,我不确定他在第一个问题中说的是什么。他删除引用的确切意思是什么
谢谢您可以导入您的
testScript
,因为这两个文件位于同一目录中。在您的myScript.py
文件中,将以下内容添加到顶部:
import testScript
然后你可以做:
testScript.callFunction()
或者,您可以这样做(尽管我强烈建议不要使用这种方法):
或者,您也可以这样做:
import testScript as ts
ts.callFunction()
最后,你也可以选择做(同样,我也不想做这个):
希望这能有所帮助。但我想知道,在作者提供的链接代码中,我没有做任何导入。它是如何工作的并且没有给出任何错误?@Kraken,它们可能不在不同的文件中。可能只是同一个文件中的不同类。有一行写着ex25.break\u words。是的,在同一个文件中有一个函数break_words,但前面仍然是ex25,现在这是练习25的文件名。这不应该是一个错误吗?@Kraken,也许(只是也许)作者选择不包含代码的这一部分,以避免混淆,并专注于教授其他主题。我不完全确定。从你的链接很难理解。但是,我可以向您保证,您必须导入一个文件才能使用它的方法。这不仅仅是作者的代码。我确实试着在我的机器上运行它。也许我错过了什么。我会再试一次。
import testScript as ts
ts.callFunction()
from testScript import callFunction
callFunction()