Python 3:导入模块-名称未定义错误

lg40wkob  于 2023-03-13  发布在  Python
关注(0)|答案(1)|浏览(195)

我正在学习Python教程,其中解释了模块。据我所知,它的代码段在另一个文件中,可以在当前文件中执行。
我有文件converter.py:

def lbs_to_kg(weight):
    return weight * 0.45

def kg_to_lbs(weight):
    return weight / 0.45

我想把它用在我的app4.py:

import converter

print(converter.lbs_to_kg(200))

我正在做的正是在视频中,当执行一个文件得到的消息:AttributeError: module 'converter' has no attribute 'lbs_to_kg'
两个文件在同一个目录下,为什么显示没有属性,怎么解决?
已尝试import converter,并具有如上所述的AttributeError
找到另一个视频,更深入地解释模块,并尝试:

from converter import *

print(converter.lbs_to_kg(200))

从www.example.com导入全部converter.py
但是我有:NameError: name 'converter' is not defined我想我离结果更近了

hc8w905p

hc8w905p1#

检查编辑好的,我有发现了。
这是可行的:

import converter
from converter import kg_to_lbs

print(converter.lbs_to_kg(100))

但是它看起来和教程中的完全不同。
当我改变

print(converter.lbs_to_kg(100))

print(converter.kg_to_lbs(100))

它工作正常,但有人能解释我怎么做吗?
我不明白。只导入了kg_to_lbs函数,但是即使我把lbs_to_kg改了,它还是能工作。
我想了解它:)
编辑:我设法有这个:

import converter
from converter import *

print(converter.lbs_to_kg(100))

看上去很干净。但是谁能告诉我为什么我必须这么做

import converter
from converter import *

而在一些教程中,他们只有第一行,它工作正常?

相关问题