为什么我的函数在 REPL 中没有被识别

Why isn't my function recognized in the REPL

出于某种原因,当我 运行 我在 REPL 中的程序无法识别我的模块时。我输入 from import words (fetch_words, print_words) 并收到错误 fetch_words is not defined.当我键入 import words

时也会发生这种情况
from urllib.request import urlopen

def fetch_words():
    story = urlopen('https://sixty-north.com/c/t.txt')
    story_words = []
    for line in story:
        line_words = line.decode('utf-8').split()
        for word in line_words:
            story_words.append(word)
    story.close()
    return story_words



def print_words(story_words):
    for word in story_words:
        print(word)


def main():
    words = fetch_words
    print_words(words)


if __name__ == '__main__':
    main() 

导入函数时语法不正确。

由于您已将文件命名为 practice.py,因此导入其中定义的函数的正确语法为:

from practice import fetch_words

或者如果您需要导入多个函数:

from practice import fetch_words, print_words

请记住,要从中导入的模块的名称应与文件名相同,不带 .py 扩展名。在这种情况下,模块是 practice,而不是 words