Импорт материала из tkinter Python - PullRequest
0 голосов
/ 30 октября 2018

Я новичок в программировании на Python. Я использую модуль tkinter для импорта содержимого для графического интерфейса пользователя.

Я импортирую все из модуля tkinter, введя следующую инструкцию:

from tkinter import *

Почему мне все еще нужно импортировать некоторые определенные классы отдельно от того же модуля, как simpledialog, хотя мы импортировали все, используя приведенный выше оператор из tkinter?

from tkinter import simpledialog

Без отдельного импорта simpledialog выдает ошибку.

1 Ответ

0 голосов
/ 30 октября 2018

Да, выдает ошибку, потому что simpledialog не является непосредственно модулем tkinter .

По сути, модуль - это каждый файл, который имеет расширение .py и состоит из правильного кода Python. Не требуется специального синтаксиса, чтобы сделать такой файл модулем. Модуль может содержать произвольные объекты, например файлы, классы или атрибуты. Все эти объекты могут быть доступны после импорта.

Если вы выполните dir (tkinter) без явного импорта Simpledialog, в нем будут показаны результаты, кроме Simpledialog.

Это из-за структуры библиотеки. Он не импортирует все модули tkinter автоматически. Как только вы используете import tkinter.simpledialog , он покажет вам модуль simpledialog, который означает, что simpledialog никогда не импортировался из tkinter ранее.

Также рекомендуется использовать import tkinter вместо из tkinter import astrik , кроме случаев работы в интерактивном Python ракушка. Одна из причин заключается в том, что происхождение имени может быть довольно неясным, потому что не видно, из какого модуля оно могло быть импортировано.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...