Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/292.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/38.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从不同的python脚本引用函数_Python - Fatal编程技术网

从不同的python脚本引用函数

从不同的python脚本引用函数,python,Python,我在本练习中学习python,它说的是找出在中给出的代码中的错误 在上一个练习25中,他让我们写了一些def。在这段代码中,我看到他使用了words=ex25.break\u单词(句子)。现在我不确定我们是否能做到这一点 所以我所做的就是创建一个新的python脚本,并将其命名为testScript.py。在这篇文章中,我定义了一个函数,它只输出一些内容。在另一个python脚本中,假设myScript.py我所做的是 testScript.callFunction() 运行myScript.

我在本练习中学习python,它说的是找出在中给出的代码中的错误

在上一个练习25中,他让我们写了一些
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()