Я собираюсь оставить этот вопрос довольно общим, потому что я чувствую, что многие люди делают одно и то же, и я не мог найти ответ consice.Скорость импорта унаследованного модуля Python
Использование PyQt (4 или 5), чтобы программа каждый нуждается в основном следующие строки:
from PyQt5 import QtCore, QtGui
from PyQt5.QtWidgets import QWidget
Для каждого виджета, что кто-то хочет создать им нужно написать эти две линии, более или менее. Есть ли способ (быстро) импортировать все эти строки, не импортируя их для каждого виджета?
Для дальнейшего уточнения, что у меня есть основной класс MainWindow
, который призывает его дочерний виджет Child
from PyQt5 import QtCore, QtGui
from PyQt5.QtWidgets import QWidget
from ChildWidget import Child
class MainWindow(QMainWindow):
def __init__(self):
super(MainWindow, self).__init__()
widget1 = Child(self)
....
Файл ChildWidget
будет иметь структуру, подобную
from PyQt5 import QtCore, QtGui
from PyQt5.QtWidgets import QWidget
class Child(QWidget):
def __init__(self, parent):
super(Child, self).__init__(parent)
....
(И конечно , импорт будет варьироваться для каждого виджета, но эти два всегда будут там.)
Я знаю, что вместо re gular два импорта в ChildWidget
Я могу сделать from MainWindow import *
, чтобы импортировать все в MainWindow
, но я чувствую, что это медленно, потому что это круговое импортирование всего?
Итак, мой вопрос - это лучший способ импортировать одни и те же функции в каждый виджет, так как число виджета увеличивается, если скорость является серьезной проблемой?
Импорт Python производится только один раз для каждой программы. Любые повторяющиеся операторы импорта просто просматривают кешированную версию, которая при использовании в том, что вы предлагаете, берет небольшие накладные расходы. Нет необходимости избегать их в подмодулях. – user3419537