导入的模块可以使用已导入的模块吗?

1 投票
1 回答
39 浏览
提问于 2025-04-14 16:05

编辑:因为没有人理解我的问题,所以我会重新写一遍。

文件1

import turtle
import file2

turtle.uselesscode()

turtle.mainloop()

文件2

turtle.goto(-50,-50)
turtle.fd(50)
#more code with the turtle module

问题:

  1. 为什么在导入文件2的时候会出现错误(代码可以运行):

名称错误:'Turtle' 这个名字没有定义

(模块“文件2”无法使用在“文件1”中导入的turtle)

  1. 我可以用exec()来代替导入模块“文件2”吗?这样的话,我能在文件2里不写from turtle import *吗?

1 个回答

0

问题标题: 如果我理解你的问题没错,答案是“是的”,但如果你不打算使用某个模块,就没必要去导入它。因为如果模块X使用了模块Y,那么模块Y其实已经被模块X内部导入了。

如果你想了解更多,可以自己去看看模块X的代码,看看它是如何用“Import”来导入模块Y的。

问题描述: 关于exec()这个函数,它的作用是执行以字符串格式传入的Python代码。还有一个类似的函数叫eval(),它的行为也差不多,但它不会执行代码。你不能用它来创建变量,但可以查看内容。

撰写回答