2017-09-18 1 views
0

Ist es eine gute Idee, eine Standardbibliotheksfunktion von einem importierten Modul zu verwenden? Zum Beispiel schreibe ich ein xyz.py-Modul und innerhalb von xyz.py habe ich dieses Statement import jsonAufruf einer Standardbibliothek aus dem importierten Modul

Ich habe ein anderes Skript, wo ich import xyz. In diesem Skript muss ich die json-Funktionen nutzen. Ich kann sicher import json in meinem Skript aber JSON Lib wurde bereits importiert, wenn ich xyz importieren. Also kann ich xyz.json() benutzen oder ist es eine schlechte Übung?

+2

Ich würde 'xyz.json' nicht verwenden, ich würde' json' in dieses andere Skript importieren, nicht davon abhängig, dass 'xyz' zusätzliche Arbeit für Sie erledigt. – CoryKramer

+4

Ja, das wäre verwirrend. Just 'import json', wenn es bereits importiert wurde, lädt Python es nicht neu, es hängt es einfach an den aktuellen Namespace an –

Antwort

2

Sie sollten erneut import json verwenden, um die Abhängigkeit explizit zu deklarieren. Python optimiert die Art und Weise, wie die Module geladen werden, so dass Sie sich nicht um Ineffizienz kümmern müssen.

Wenn Sie später xyz.py nicht mehr benötigen und den Import abbrechen, müssen Sie immer noch import json dort sein, ohne Ihre Abhängigkeiten neu analysieren zu müssen.

Verwandte Themen