== Why is this an issue? :link-with-uscores1: https://docs.python.org/3/reference/datamodel.html#object.__call__ In order to be callable, a python class should implement the {link-with-uscores1}[``++__call__++``] method. This rule raises an issue when a non-callable object is called. === Noncompliant code example [source,python] ---- class MyClass: pass myvar = MyClass() myvar() # Noncompliant none_var = None none_var() # Noncompliant ---- === Compliant solution [source,python] ---- class MyClass: def __call__(self): print("called") myvar = MyClass() myvar() ---- :link-with-uscores1: https://docs.python.org/3/reference/datamodel.html#object.__call__ == Resources * {link-with-uscores1}[Python documentation - ++__call__++ method] ifdef::env-github,rspecator-view[] ''' == Implementation Specification (visible only on this page) === Message Fix this call; XX is not callable. === Highlighting Primary: The name before the opening parenthesis * Secondary 1 (if the call is made on a variable) ** location: The last value assigned. ** message: "Assigned value." * Secondary 2 ** location: The class definition ** message: "Definition." ''' == Comments And Links (visible only on this page) === relates to: S2873 endif::env-github,rspecator-view[]