Das Objekt Pin: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
No edit summary |
||
| Line 45: | Line 45: | ||
[[file:Objekt_und_Namen.jpg|Objekt_und_Namen]]<br> | [[file:Objekt_und_Namen.jpg|Objekt_und_Namen]]<br> | ||
Schematische Daratellung von Objekten und ihnen zugewiesenen Namen. | Schematische Daratellung von Objekten und ihnen zugewiesenen Namen. | ||
<br> | |||
Demnach ist '''b_up.value()''' das Gleiche wie '''x.value()'''! | |||
Revision as of 23:18, 18 January 2024
In Python ist alles ein Objekt und Objekte haben eine ID.
Die Instanz Pin(11) existiert, auch wenn GPIO11 noch nicht initialisiert worden ist:
>>> from machine import Pin
>>> id(Pin(11))
268904804
Sie besitzt auch schon einige default Einstellungen:
>>> print(Pin(11))
Pin(GPIO11, mode=IN, pull=PULL_DOWN)
Wenn eine Instanz von Pin erzeugt wird, so wird ihr ein Namen zugewiesen und ggf. die Einstellungen gesetzt:
>>> b_up = Pin(11, Pin.IN, Pin.PULL_DOWN)
>>> id(b_up)
268904804
>>> print(b_up)
Pin(GPIO11, mode=IN, pull=PULL_DOWN)
Eine solche Instanz kann auch mehrere Namen haben:
>>> x = b_up
>>> print(x)
Pin(GPIO11, mode=IN, pull=PULL_DOWN)
>>> id(x)
268904804
Es bleibt aber immer die selbe ID, also auch das selbe Objekt.
Das bestätigt auch Micropython elbst:
>>> Pin(11) == b_up
True
>>> Pin(11) == x
True
>>> Pin(11) is b_up
True
>>> Pin(11) is x
True

Schematische Daratellung von Objekten und ihnen zugewiesenen Namen.
Demnach ist b_up.value() das Gleiche wie x.value()!