python中import和import...from的区别

发布时间 2023-07-14 15:21:12作者: 顺其自然,道法自然

今天遇到一个奇怪的问题, 如下面的代码:

import tkinter as tk
from tkinter import simpledialog

def popup():
    user_input = tk.simpledialog.askstring("输入对话框", "请输入你的名字:")
    if user_input is not None:
        print("你的名字是: ", user_input)
    else:
        print("你没有输入任何内容")

root = tk.Tk()
button = tk.Button(root, text="弹出输入对话框", command=popup)
button.pack()

root.mainloop()

在这段示例代码中, 如果把from tkinter import simpledialog注释掉, 就会出现找不到simpledialog的错误, 不是已经import tkinter as tk了吗?
原来simpledialog是tkinter的子模块, 而子模块不会自动导入, 需要明确导入才行.