我该怎么做?我能做这个吗?

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()需要首先确保条件是真的,然后才能开始执行操作。由于封装,aModuleEntryPoint不知道如何检查条件,但是aFunction()有一个子函数testSomething()知道如何检查条件。aModuleEntryPoint()呼叫aFunction(theRightValue)
因为theRightValue作为参数传递给aFunction()aFunction()调用testSomething()testSomething()执行逻辑测试,并返回TrueFalse
我需要aModuleEntryPoint()知道testSomething()决定了什么。我不想让aModuleEntryPoint()知道testSomething()是如何得出结论的。
在删除其他功能的同时发布我的实际源代码是一项成就,所以我必须这样设置一般要点。

最佳答案

我现在唯一看错的是你需要在第9行的return之前输入testSomething()

09-12 07:27