[Python-de] Re: paho-mqtt und vorgegebene Callback-Funktione n in einer Klasse.

Hartmut Goebel <[email protected]> Sun, 11 Jun 2023 22:09:38 +0200
Newsgroups gmane.comp.python.general.german
Organization Goebel Consult
Message-ID <[email protected]>
Am 11.06.23 um 21:41 schrieb Marc Haber:
> Kannst Du mir erklären, warum das funktioniert obwohl die
> Memberfunktion den zusätzlichen self-Parametrer hat?

Nicht so richtig — also nicht von der Sprachdefinition her :-)

Aber die Methode ist an das Objekt/Instanz gebunden:

 >>> amon.on_connect
<bound method ApplianceMonitor.on_connect of <__main__.ApplianceMonitor 
object at 0x7f560d9ecee0>>

Das impliziert, dass die Instanz als erster Parameter übergeben wird.

https://docs.python.org/3/tutorial/classes.html#method-objects erklärt 
dann doch noch was:

"amon.on_connect" liefert eben nicht die Funktion 
"ApplianceMonitor.on_connetct", sondern die Methode "on_connect" für 
("bound to") die Instanz "amon". Da steckt quasi "self" als erster 
Parameter mit drin.

Ähnliches könntest Du erreichen mit

functools.partial(ApplianceMonitor.on_connect, anom)

-- 
Schönen Gruß
Hartmut Goebel
Dipl.-Informatiker (univ), CISSP, CSSLP, ISO 27001 Lead Implementer
Information Security Management, Security Governance, Secure Software 
Development

Goebel Consult, Landshut
http://www.goebel-consult.de

Blog: 
https://www.goebel-consult.de/blog/2021/debugging-python-_frozen_importlib/
Kolumne: 
https://www.goebel-consult.de/blog/cissp-gefluester/2012-04-compliance-bringt-keine-sicherheit/ 

_______________________________________________
python-de Mailingliste -- [email protected]
Zur Abmeldung von dieser Mailingliste senden Sie eine Nachricht an [email protected]
https://mail.python.org/mailman3/lists/python-de.python.org/
Mitgliedsadresse: [email protected]