python中import和import...from的区别
今天遇到一个奇怪的问题, 如下面的代码:
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的子模块, 而子模块不会自动导入, 需要明确导入才行.