Mam pytanie, które wydaje się dość podstawowe, ale nie mogę znaleźć żadnej pomocy w tej sprawie.Python importuje moduły i zmienne globalne
file_a.py >>
from xyz import XYZ
class A:
.
.
.
file_b.py >>
import file_a
from file_a import A
class B(A):
def __init__(self):
A.__init__(self)
def someMethod(self):
XYZ.doSomething()
XYZ.doSomething() nie mówiąc NameError: nazwa 'XYZ' nie jest zdefiniowane Nawet standardowe importu jak 'import sys' done z file_a nie wydaje się, aby była ona użyteczna w file_b. Zakładałem, że to powinno zadziałać. Czy moje zrozumienie jest złe? Jeśli tak, to czy istnieje sposób na wspólne importowanie i globalne zmienne w plikach? (Jeśli nie jest to pomocne, jestem programistą C++ i java i teraz zaczynam używać pythona.)
Cóż, to jest moje pytanie. Chcę uniknąć powtarzania zestawu importów w wielu plikach, takich jak file_b. Wiem, że importowanie XYZ i sys do file_b działa. – ksrini
@ksrini Nie powinieneś tego chcieć. Dobrze jest jawnie importować wszystko, czego używa moduł. Czyści listę wszystkich zależności w jednym miejscu. Zobacz PEP20 - jawność jest lepsza niż niejawna. – yak
Dziękuję jaka, to było interesujące i wnikliwe! – ksrini