Ich möchte den Unterschied kennen zwischen __init__
et __call__
Methoden.
Zum Beispiel:
class test:
def __init__(self):
self.a = 10
def __call__(self):
b = 20
Ich möchte den Unterschied kennen zwischen __init__
et __call__
Methoden.
Zum Beispiel:
class test:
def __init__(self):
self.a = 10
def __call__(self):
b = 20
aufrufen Methode wird verwendet, damit sich Objekte wie Funktionen verhalten.
>>> class A:
... def __init__(self):
... print "From init ... "
...
>>> a = A()
From init ...
>>> a()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: A instance has no __call__ method
<*There is no __call__ method so it doesn't act like function and throws error.*>
>>>
>>> class B:
... def __init__(self):
... print "From init ... "
... def __call__(self):
... print "From call it is a function ... "
...
>>> b = B()
From init ...
>>> b()
From call it is a function...
>>>
<* __call__ method made object "b" to act like function *>
Wir können sie auch an eine Klassenvariable übergeben.
class B:
a = A()
def __init__(self):
print "From init ... "
CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.