TypeError: ‘bool’ object is not callable

Tags:



I am brand new to python. I got a error

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

Would you please instruct how to solve this issue? The first “if” check is fine, but “while not” has this error.

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

Answer

You do cls.isFilled = True. That overwrites the method called isFilled and replaces it with the value True. That method is now gone and you can’t call it anymore. So when you try to call it again you get an error, since it’s not there anymore.

The solution is use a different name for the variable than you do for the method.



Source: stackoverflow