[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]