全部导入并导入 Python 中的某些元素

Import all and import certain elements in Python

我目前正在学习 Python 3.xx(目前更具体地说是 3,8)作为第一语言并且我一直看到类似

的东西
from tkinter import *
from tkinter import font

现在我的问题是...:[=​​12=]

当您从 tkiner *(因此所有)导入时,为什么要再次导入某些元素?不应该全部包含(*)吗?

提前感谢您花时间和精力回答我的问题,祝您有美好的一天。

第二行将导入tkinter.font,这是一个子模块。

import * 不会导入子模块。

>>> from tkinter import *
>>> font
>>> from tkinter import font
>>> font
<module 'tkinter.font' from 'lib/python3.7/tkinter/font.py'>

另一种 * 不会导入所有内容的情况是模块具有 __all__ 属性。 (在此处的 documentation 中搜索 "public names"。)