1. ホーム
  2. python

[解決済み】TypeError: 'bool'オブジェクトは呼び出し可能ではありません。

2022-01-19 15:34:38

質問

私はPythonの初心者です。私はエラーが発生しました

while not cls.isFilled(row,col,myMap):
TypeError: 'bool' object is not callable

この問題を解決する方法をご教示ください。 最初の "if" のチェックは問題ないのですが、"while not" でこのエラーが発生します。

def main(cls, args):
        ...
        if cls.isFilled(row,col,myMap):
            numCycles = 0

        while not cls.isFilled(row,col,myMap):
            numCycles += 1


def isFilled(cls,row,col,myMap):
        cls.isFilled = True
        ## for-while
        i = 0
        while i < row:
            ## for-while
            j = 0
            while j < col:
                if not myMap[i][j].getIsActive():
                    cls.isFilled = False
                j += 1
            i += 1
        return cls.isFilled

解決方法は?

あなたがすること cls.isFilled = True . というメソッドが上書きされます。 isFilled という値で置き換えます。 これでそのメソッドは消えてしまい、もう呼び出すことはできません。 そのため、もう一度呼び出そうとすると、もう存在しないのでエラーになります。

解決策は、変数にメソッドとは別の名前を使うことです。