Python constantes de déclaration
si je déclare un const classe qui sont contient des variables:
par exemple
class const:
MASTER_CLIENT_CONNECTED = 0
CLIENT_CONNECTED = 1
GET_SERVER_QUEUE = 9998
ERROR = 9999
est-il un moyen pour parvenir à cette variable(constantes), sans création d'une nouvelle classe.
comme ceci:
import const
const.MASTER_CLIENT_CONNECTED
ou
import const
if(i==MASTER_CLIENT_CONNECTED):
Voulez-vous dire par "la création d'une nouvelle classe" ou voulez-vous dire "de créer une instance d'une classe"?
Apparemment oui: codepad.org/hgv0iH92 (je suppose que tu veux dire nouvelle instance) Ces choses sont faciles à essayer vous-même.
Apparemment oui: codepad.org/hgv0iH92 (je suppose que tu veux dire nouvelle instance) Ces choses sont faciles à essayer vous-même.
OriginalL'auteur OHLÁLÁ | 2011-06-20
Vous devez vous connecter pour publier un commentaire.
Oui, au lieu de les mettre dans une classe de les mettre directement dans votre module (nom du fichier par exemple
const.py
de sorte que le nom du module estconst
). À l'aide d'une classe est assez bien abuser de classes pour namespacing - et Python a packages/modules à cette fin.Alors vous pourriez même utiliser
from const import *
pour importer toutes les variables globales à partir de ce module, si vous ne voulez pas écrireconst.
en face de tout. A noter toutefois que ce n'est généralement pas recommandée, car elle pourrait entraîner des importations beaucoup de choses en l'espace de noms global - si vous avez juste besoin d'un ou deux constantesfrom const import ABC, DEF
etc. ce serait bien si.OriginalL'auteur ThiefMaster
Pourquoi avez-vous besoin d'une classe pour qui? Vous pouvez utiliser quelque chose comme ceci:
Dans constant.py écrire:
Alors accès:
OriginalL'auteur sam
Dans les solutions ci-dessus, le seul inconvénient est que vous pouvez modifier accidentellement les variables dans le const.py fichier -
Cela peut être un hacky solution, mais pour empêcher la modification de la constante de la variable, vous pouvez les ajouter à une classe avec seulement des méthodes de lecture.
Je sais que cette méthode ne foule le const.py fichier, mais c'est la seule solution que je connaisse qui dans la vrai définition illustre l'immuabilité.
OriginalL'auteur Sarthak Ahuja