Was ist der beste Weg, um zu initialisieren und verwenden Sie Konstanten, die über Python-Klassen?
Hier ist, wie ich bin deklarieren von Konstanten und mit Ihnen über verschiedene Python-Klassen:
# project/constants.py
GOOD = 1
BAD = 2
AWFUL = 3
# project/question.py
from constants import AWFUL, BAD, GOOD
class Question:
def __init__(self):
...
Ist die oben eine gute Möglichkeit zum speichern und verwenden Sie Konstante Werte? Mir ist klar, dass nach einer Weile, die Konstanten-Datei kann ziemlich groß und ich könnte explizit importieren 10+ dieser Konstanten in einer Datei.
- Nun, zunächst gibt es keine Konstanten Variablen in python , und Ihre zweite Globale variable sind Sie in mehr als einem Modul oder nur in einem ?
- Sie sind in verschiedenen Klassen in diesem Projekt.
Du musst angemeldet sein, um einen Kommentar abzugeben.
warum nicht einfach
Aus der python-zen:
EDIT: Außer, wenn Sie zitieren, sollten Sie auch einen Verweis, und überprüfen Sie es, weil Sie wie andere haben darauf hingewiesen, es sollte lauten:
Dieser Zeit habe ich sogar kopiert es aus der Quelle: PEP 20 -- Zen von Python
Haben Sie auch die Möglichkeit, wenn die Konstanten gebunden sind, einer bestimmten Klasse und für den privaten Gebrauch verwendet innerhalb dieser Klasse der besonderen Klasse:
und gehen Sie Weg.
Haben Sie ein paar Optionen:
Einer obenliegenden Sicht, 1 und 2 sind ungefähr gleich. Für Ihre Frage zum importieren bestimmter Konstanten, es ist viel einfacher, verwenden Sie eine der folgenden Konventionen:
import constants; some_func(constants.AWFUL)
from constants import *; some_func(AWFUL)
Schauen Sie auf die folgenden links(ein link enthält einen Eingang vom aktiven Zustand auf die Implementierung einer real-Konstanten):
Importieren einer langen Liste von Konstanten in eine Python-Datei
Erstellen Sie eine Konstante mit einem "Einstellungen" - Modul?
Kann ich verhindern, dass das ändern eines Objekts in Python?