Да, выдает ошибку, потому что simpledialog не является непосредственно модулем tkinter .
По сути, модуль - это каждый файл, который имеет расширение .py и состоит из правильного кода Python. Не требуется специального синтаксиса, чтобы сделать такой файл модулем. Модуль может содержать произвольные объекты, например файлы, классы или атрибуты. Все эти объекты могут быть доступны после импорта.
Если вы выполните dir (tkinter) без явного импорта Simpledialog, в нем будут показаны результаты, кроме Simpledialog.
Это из-за структуры библиотеки. Он не импортирует все модули tkinter автоматически. Как только вы используете import tkinter.simpledialog , он покажет вам модуль simpledialog, который означает, что simpledialog никогда не импортировался из tkinter ранее.
Также рекомендуется использовать import tkinter вместо из tkinter import astrik , кроме случаев работы в интерактивном Python ракушка. Одна из причин заключается в том, что происхождение имени может быть довольно неясным, потому что не видно, из какого модуля оно могло быть импортировано.