37 lines
704 B
Plaintext
37 lines
704 B
Plaintext
: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
|
|
|
|
----
|
|
class MyClass:
|
|
pass
|
|
|
|
myvar = MyClass()
|
|
myvar() # Noncompliant
|
|
|
|
none_var = None
|
|
none_var() # Noncompliant
|
|
----
|
|
|
|
== Compliant Solution
|
|
|
|
----
|
|
class MyClass:
|
|
def __call__(self):
|
|
print("called")
|
|
|
|
myvar = MyClass()
|
|
myvar()
|
|
----
|
|
|
|
:link-with-uscores1: https://docs.python.org/3/reference/datamodel.html#object.__call__
|
|
|
|
== See
|
|
|
|
* {link-with-uscores1}[Python documentation - ++__call__++ method]
|