我有以下脚本:
private static final String ALLOWED_CHARACTERS = "ABCD...789";
private static final Random RNG = new Random();
public static String getID() {
StringBuilder builder = new StringBuilder();
while (builder.length() < DESIRED_LENGTH) {
builder.append(ALLOWED_CHARACTERS.charAt((int)(RNG.nextDouble()*ALLOWED_CHARACTERS.length())));
}
return builder.toString();
}
evaluate.py的脚本如下,
src/
__init__.py
evaluation.py
main.py
evaluation.py包含一个名为&#39; f_score&#39;的函数,我想在main.py中使用f_score函数
在main.py中,我会关注,
from collections import Counter
def f_score(pred, answers):
'''
f1 = (2 * precision * recall) / (precision + recall)
return f1
我收到错误消息:NameError:name&#39; f_score&#39;没有定义。
然而,如果我这样做
from evaluation import *
f_score()
这很有效。 我可以问为什么?
答案 0 :(得分:0)
您可能需要安装最新的python更新。当我尝试它时,它可以无缝地工作。
from file1 import *
input = input("Enter:")
if input == "hi":
hi_back()
打印出&#34; hi&#34;因为那是file1中的函数。
确保模块与您一样处于同一路径。 以下是我从我创建的模块导入内容的方法:
import file1 as f1
f1.function1()
这是我处理它的首选方式,当您在一个文件中导入许多不同的模块时,可以使生活更轻松。我在你的代码中看到你只有三个&#39;&#39;&#39;在函数中但没有结束评论。这可能是一个问题,因为函数会认为那里什么都没有。 也许你有拼写错误?发生在我们最好的人身上:))