Prvýkrát používateľ na pretečení zásobníka a som nadšený, že tu budem.
ÚVOD: Nedávno som začal magické dobrodružstvo do sveta programovania Pythonu - milujem ho. Teraz všetko prebehlo hladko v mojom nevhodnom prechode z C, ale mám problémy vytvárať niečo, čo by bolo synonymom pre súbor HEADER (.h).
PROBLÉM: Mám stredne veľké slovníky a zoznamy (asi 1000 prvkov), zdĺhavé enumy a "#defines" (nie v skutočnosti), ale nemôžem nájsť CLEAN spôsob, ako ich všetky usporiadať. hlavičkový súbor a nikdy o tom nikdy nezmyslite, ale v Pythone to "nie je možné, alebo tak myslím.
RIEŠENIE CURRENT DIRTY: Inicializujem všetky konštantné premenné v hornej časti modulu MODULE alebo FUNCTION (modul, ak ho potrebujú viaceré funkcie).
ZÁVER: Bol by som naveky vďačný, keby niekto prišiel so spôsobom, ako CLEANY usporiadať konštantné premenné.
ĎAKUJEM TI VEĽMI PEKNE!
odpovede:
20 pre odpoveď č. 1Vložte svoje konštanty do vlastného modulu:
# constants.py
RED = 1
BLUE = 2
GREEN = 3
Potom importujte tento modul a použite konštanty:
import constants
print "RED is", constants.RED
Konštanty môžu byť akékoľvek hodnoty, ktoré sa vám páčia, som uviedol celé čísla tu, ale zoznamy a dikty by fungovali rovnako.
9 pre odpoveď č. 2
Zvyčajne to robím:
súbor: constants.py
CONSTANT1 = "asd"
CONSTANT_FOO = 123
CONSTANT_BAR = [1, 2, 5]
súbor: your_script.py
from constants import CONSTANT1, CONSTANT_FOO
# or if you want *all* of them
# from constants import *
...
Teraz sú vaše konštanty v jednom súbore a môžete ich pekne importovať a používať.
3 pre odpoveď № 3
Vytvorte samostatný súbor constants.py
, a tam umiestniť všetky globálne relevantné konštanty. Potom môžete import constants
označiť ich ako constants.SPAM
alebo to (pochybné) from constants import *
ako jednoducho ich odkazovať SPAM
alebo EGGS
.
Aj keď sme tu, všimnite si, že Python nepodporuje konštantný konštanty. Dohovorom je len ich pomenovať ALL_CAPS
a sľúbiť, že ich nebude mutovať.