Tworzę moduł z kilkoma klasami. Mój problem polega na tym, że niektóre z tych klas muszą importować bardzo specyficzne moduły, które muszą być ręcznie skompilowane lub wymagają specjalnego sprzętu do pracy.Import na instancję klasy
Nie ma żadnego interesu w importowaniu każdego konkretnego modułu z góry, a ponieważ niektóre moduły wymagają specjalnego sprzętu do pracy, może on nawet powodować błędy.
Chciałbym wiedzieć, czy jest możliwe, aby zaimportować te moduł tylko wtedy, gdy potrzebne, czyli na konkretyzacji precyzyjnej klasy, tak jak poniżej:
class SpecificClassThatNeedRandomModule(object):
import randomModule
Również nie jestem pewien, że będzie to dobry pythonowy sposób robienia trików, więc jestem otwarty na sugestie w odpowiedni sposób.
Nie sądzę, umieszczając instrukcję import w definicji klasy będzie go opóźnić jak można się spodziewać. Możesz jednak dokonać importu w funkcji, a wtedy zdarzy się to tylko przy pierwszym wywołaniu tej funkcji. –
Sprawdź również [jak przetestować, czy jeden moduł python został zaimportowany?] (Http://stackoverflow.com/questions/5027352/how-to-test-if-one-python-module-has-been-implikowany). Dobre rzeczy istnieją na tych postach. – FallenAngel