Python导入wordcount模块后测试报word_count未定义NameError怎么解决?
问题解决办法
你遇到的报错由两个问题导致:
- 第一:模块导入后函数调用方式错误
导入整个wordcount模块后,不能直接调用模块内的word_count函数,需要加上模块名前缀,或者单独导入该函数。 - 第二:
wordcount模块的代码存在缩进错误
Python对缩进敏感,函数定义后内部的代码需要统一缩进,否则模块加载时就会报错,无法正确导入函数。
修正方案
1. 先修正wordcount模块代码的缩进
def word_count(str): counts = dict() words = str.split() for word in words: if word in counts: counts[word] += 1 else: counts[word] = 1 return counts
2. 修正测试代码,有两种可选写法
写法1:保留原导入方式,调用时加模块前缀
import wordcount print(wordcount.word_count('the quick brown fox jumps over the lazy dog.'))
写法2:直接导入模块内的对应函数
from wordcount import word_count print(word_count('the quick brown fox jumps over the lazy dog.'))
内容的提问来源于stack exchange,提问作者user14686913
相关产品推荐
相关产品推荐

