Python valeurs de retour?

Comment dois-je faire? Peut - je faire cela?

def aFunction(argument):  
    def testSomething():  
        if thisValue == 'whatItShouldBe':  
            return True  
        else:  
            return False  

    if argument == 'theRightValue': # this is actually a switch using elif's in my code  
        testSomething()  
    else:  
        return False  

def aModuleEntryPoint():  
    if aFunction(theRightValue) == True:  
        doMoreStuff()  
    else:  
        complain()  

aModuleEntryPoint()

aModuleEntryPoint() doit d'abord s'assurer qu'une condition est vraie avant qu'il ne commence à faire des choses. À cause de l'encapsulation, aModuleEntryPoint ne sais pas comment faire pour vérifier l'état, mais aFunction() a une sous-fonction appelée testSomething() qui ne savent comment vérifier l'état. aModuleEntryPoint() appels aFunction(theRightValue).

Parce que theRightValue a été transmis à aFunction() comme argument, aFunction() appels testSomething(). testSomething() effectue la logique de test, et renvoie soit True ou False.

J'ai besoin pour aModuleEntryPoint() savoir ce que testSomething() décidé. Je ne veux pas aModuleEntryPoint() de savoir quelque chose au sujet de la façon dont testSomething() est venu à sa conclusion.

Ce serait un accomplissement d'après mes sources réelles lors de la suppression d'autres fonctions, et qu'est-ce-pas, j'ai donc dû le programme d'installation le sens général de ce genre.

  • merci @Eimantas, ce qui rend mon mal à la tête moins maintenant 🙂
InformationsquelleAutor brad | 2011-04-10