Was ist der beste Weg, contants in Python-Klassen zu initialisieren und zu verwenden?
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.
Kommentar zu dem Problem
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.
InformationsquelleAutor der Frage Thierry Lam | 2011-06-14
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
InformationsquelleAutor der Antwort Daren Thomas
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.
InformationsquelleAutor der Antwort wheaties
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)
InformationsquelleAutor der Antwort Chris Eberle
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?
InformationsquelleAutor der Antwort Artsiom Rudzenka