La création d'une classe statique avec pas de cas

Tous les tutoriels que j'voir en ligne montrent comment créer des classes avec __init__ les méthodes constructeur de sorte qu'on peut déclarer des objets de ce type, ou des instances de cette classe.

Comment puis-je créer une classe (statique en Java) afin que je puisse accéder à toutes les méthodes et attributs de la classe sans avoir à créer de nouvelles instances/objets?

Par exemple:

class World:

    allElems = []

    def addElem(x):  

        allElems.append(x)

World.addElem(6)
print(World.allElems)

MODIFIER

class World(object):

    allAirports = []

    @staticmethod
    def initialize():

        f = open(os.path.expanduser("~/Desktop/1000airports.csv"))
        file_reader = csv.reader(f)

        for col in file_reader:

            allAirports.append(Airport(col[0],col[2],col[3]))

d'erreur: nom de "allAirports" n'est pas défini

  • Pourquoi voulez-vous qu'une classe statique? Que voulez-vous atteindre? - voir aussi: stackoverflow.com/q/10388127/562769
  • essayez - World.allAirports.append(.....
  • Ne pas le faire. Je ne sais pas ce que Java a fait à votre pauvre âme, mais cela ne peut que mal se terminer. allAirports n'est pas seulement une transgression de la PEP 8, mais - *gasp!* - une mutable mondiale. Tout ce que vous voulez réaliser, vous êtes en essayant d'atteindre le mauvais sens.
  • Aussi, l'utilisation with pour les fichiers.
  • Valide les cas d'utilisation pour des cours réguliers, pour les classes statiques et nu fonctions.
InformationsquelleAutor Greg Peckory | 2015-05-31