Fix Python TypeError: ‘str’ object is not callable – Python Tutorial

By | August 7, 2019

TypeError: ‘str’ object is not callable, which means we can not use a string to be a function. In this tutorial, we will write an example to show you how to fix this type error.

TypeError str object is not callable

Here is an python callback example.

def filter(x):
    if x % 2 == 0:
        return x
    return -1
    
def compute(x, filter_fun):
    result = []
    for i in x:
        j = filter_fun(x)
        if j > 0 :
            result.append(j)
    return result

x = [1,2,3,4,5]
result = compute(x, 'filter')
print(result)

In this example, code below will report a type error.

result = compute(x, 'filter')

The reason is string filter is not a function, it can not be called like a function.

To fix this error, we should use a function name like:

result = compute(x, filter)

Then the result is:

[2, 4]

This type error is fixed.

Leave a Reply