2009-08-19 3 views
4

Je joue avec Python et j'ai créé une classe dans un paquet différent de celui qui l'appelle. Dans cette classe, j'ai ajouté une méthode de classe qui est appelée depuis ma fonction principale. Encore une fois, ils sont dans des paquets séparés. La ligne pour appeler la méthode de classe est beaucoup plus longue que je pensais que ce serait à partir des exemples que j'ai vus dans d'autres endroits. Ces exemples ont tendance à appeler des méthodes de classe à l'intérieur du même paquet - raccourcissant ainsi la syntaxe d'appel.Méthode de classe Python - Existe-t-il un moyen de raccourcir les appels?

Voici un exemple que j'espère aide:

Dans une 'config' package:

class TestClass : 
    memberdict = { } 

    @classmethod 
    def add_key(clazz, key, value) : 
     memberdict[ key ] = value 

maintenant dans un autre paquetage nommé 'test':

import sys 
import config.TestClass 

def main() : 
    config.TestClass.TestClass.add_key("mykey", "newvalue") 
    return 0 

if __name__ == "__main__" : 
    sys.exit(main()) 

Vous pouvez voir comment 'config.TestClass.TestClass.add_key' est beaucoup plus bavard que les appels de méthode de classe normale. Y a-t-il un moyen de le raccourcir? Peut-être que 'TestClass.add_key'? Suis-je définir quelque chose d'une manière étrange (Cas de la classe correspondant au nom du fichier python?)

Répondre

13
from config.TestClass import TestClass 
TestClass.add_key("mykey", "newvalue") 
+0

MUAH! Brillant. Merci. – Kieveli

Questions connexes