TypeError: ‘X’ object is not callable
Perhaps most commonly, this manifests as
'module' object is not callable although you see it with all built-in types from time to time.
'module', a common cause is having a module with a surprising
import. If you
my_foo = foo() to work but it requires something like
my_foo = foo.foo() instead, that’s where you are trying to call a module which isn’t callable.
For other types, a common case is when you trampled your own variable somewhere. Perhaps you did
def my_number(): ...
and then later on
my_number = 42
which replaces the function with a simple
my_number() is no longer valid, because
'int' object is not callable.
Something similar will also occur if you use a builtin name for a variable. If you do
str = 'hello'
you will cause
'str' object is not callable for anything which subsequently tries to use the built-in
str type in this scope, like this:
x = str(5)