14. Lektion: Variablen vielfalt.extend(): Unterschied zwischen den Versionen

Aus Attraktor Wiki

Wechseln zu: Navigation, Suche
(Created page with "* Namen ** Bedeutung des _ ** __name__ == __main__ * Mehrfach Zuweisung ** y, x = 1, 2 ** x, y, z = [1, 2, 3] ** Inhalte tauschen *** x , y = y, x * Tupel ** Als Eingabe für...")
 
(Übung:)
 
(25 dazwischenliegende Versionen des gleichen Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
* Namen
+
== Zuweisungsvielfalt==
** Bedeutung des _
+
Python ermöglicht es mehreren Variablen gleichzeitig Werte zuzuweisen.
** __name__ == __main__
+
* Mehrfach Zuweisung eines Wertes:
* Mehrfach Zuweisung
+
<pre>
** y, x = 1, 2
+
>>> a = b = c = 42
** x, y, z = [1, 2, 3]
+
>>> print(a, b, c)
** Inhalte tauschen
+
    42 42 42
*** x , y = y, x
+
>>>
* Tupel
+
</pre>
** Als Eingabe für Funktionen
+
* Mehrfachzuweisung verschiedener Werte:
*** join()  
+
<pre>
** Als Rückgabewert von Funktionen
+
>>> a, b, c = 1, 2, 3
*** NTP / RTC
+
>>> print(a, b, c)
* Slicing
+
    1 2 3
* Konstanten
+
>>>
* copy deep und flach
+
</pre>
* https://www.heise.de/ratgeber/Phyton-Welche-Auflistungstypen-es-gibt-und-wie-sie-verwendet-werden-9216638.html?seite=all
+
* Mehrfachzuweisung aus einer Liste:
* https://levelup.gitconnected.com/30-phyton-concepts-i-wish-i-knew-way-earlier-3add72af6433
+
<pre>
 +
>>> a, b, c = [10, 20, 30]
 +
>>> print(a, b, c)
 +
    10 20 30
 +
>>> z = [1, 2, 3]
 +
>>> a, b, c = z
 +
>>> print(a, b, c)
 +
    1 2 3
 +
>>>
 +
</pre>
 +
* Mehrfachzuweisung aus einer Liste mit mehr Werten:
 +
<pre>
 +
>>> z = [1, 2, 3, 4, 5]
 +
>>> a, b, c = z
 +
    Traceback (most recent call last):
 +
      File "<stdin>", line 1, in <module>
 +
    ValueError: too many values to unpack (expected 3)
 +
>>> a, b, *c = z
 +
>>> print(a, b, c)
 +
    1 2 [3, 4, 5]
 +
>>>
 +
>>> z = [1, 2, 3]
 +
>>> a, b, *c = z
 +
>>> print(a, b, c)
 +
    1 2 [3]
 +
>>>
 +
</pre>
  
===== Mitgliedschaft=====
+
== Inhalte tauschen==
* in
+
<pre>
 +
>>> x, y = 1, 2
 +
>>> print(x, y)
 +
1 2
 +
>>> y, x = x, y
 +
>>> print(x, y)
 +
2 1
 +
>>>
 +
</pre>
 +
 
 +
== Mysterien==
 +
<pre>
 +
>>> x = [9,8,7]
 +
    y = x
 +
>>>
 +
>>> y.append(6)
 +
    print(y)
 +
    print(x)
 +
    [9, 8, 7, 6]
 +
    [9, 8, 7, 6]
 +
</pre>
 +
Hier der Grund, es ist das selbe Objekt:
 +
<pre>
 +
>>> id(x)
 +
    537041808
 +
>>> id(y)
 +
    537041808
 +
</pre>
 +
Aber so funktioniert es wie erwartet:
 +
<pre>
 +
>>> x = [9,8,7]
 +
    y = x.copy()
 +
    y.append(6)
 +
    print(y)
 +
    print(x)
 +
    [9, 8, 7, 6]
 +
    [9, 8, 7]
 +
>>>
 +
</pre>
 +
Jetzt sind es verschiedene Objekte.
 +
<pre>
 +
>>> id(x)
 +
    537062496
 +
>>> id(y)
 +
    537063216
 +
>>>
 +
</pre>
 +
 
 +
===== Übung:=====
 +
* Probiere die verschiedenen Möglichkeiten der Wertezuweisung selbst aus.
 +
* Probiere das unter Mysterien dargestellte Scenario mit einfachen Variablen (x = 1).
 +
 
 +
== Navigation==
 +
[[Micropython_Kurs_2023_-_Teil_1|Zurück zu Micropython Kurs 2023 - Teil 1]]<br>
 +
[[Micropython Kurs 2023|Zurück zur "Micropython Kurs 2023" Startseite]]<br>
 +
[[Programmieren|Zurück zur Programmieren Startseite]]<br>
 +
[[Attraktor_Wiki|Zurück zur Wiki Startseite]]<br>

Aktuelle Version vom 3. Oktober 2023, 11:28 Uhr

Zuweisungsvielfalt

Python ermöglicht es mehreren Variablen gleichzeitig Werte zuzuweisen.

  • Mehrfach Zuweisung eines Wertes:
>>> a = b = c = 42
>>> print(a, b, c)
    42 42 42
>>> 
  • Mehrfachzuweisung verschiedener Werte:
>>> a, b, c = 1, 2, 3
>>> print(a, b, c)
    1 2 3
>>> 
  • Mehrfachzuweisung aus einer Liste:
>>> a, b, c = [10, 20, 30]
>>> print(a, b, c)
    10 20 30
>>> z = [1, 2, 3]
>>> a, b, c = z
>>> print(a, b, c)
    1 2 3
>>> 
  • Mehrfachzuweisung aus einer Liste mit mehr Werten:
>>> z = [1, 2, 3, 4, 5]
>>> a, b, c = z
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    ValueError: too many values to unpack (expected 3)
>>> a, b, *c = z
>>> print(a, b, c)
    1 2 [3, 4, 5]
>>> 
>>> z = [1, 2, 3]
>>> a, b, *c = z
>>> print(a, b, c)
    1 2 [3]
>>> 

Inhalte tauschen

>>> x, y = 1, 2
>>> print(x, y)
1 2
>>> y, x = x, y
>>> print(x, y)
2 1
>>> 

Mysterien

>>> x = [9,8,7]
    y = x
>>> 
>>> y.append(6)
    print(y)
    print(x)
    [9, 8, 7, 6]
    [9, 8, 7, 6]

Hier der Grund, es ist das selbe Objekt:

>>> id(x)
    537041808
>>> id(y)
    537041808

Aber so funktioniert es wie erwartet:

>>> x = [9,8,7]
    y = x.copy()
    y.append(6)
    print(y)
    print(x)
    [9, 8, 7, 6]
    [9, 8, 7]
>>> 

Jetzt sind es verschiedene Objekte.

>>> id(x)
    537062496
>>> id(y)
    537063216
>>> 
Übung:
  • Probiere die verschiedenen Möglichkeiten der Wertezuweisung selbst aus.
  • Probiere das unter Mysterien dargestellte Scenario mit einfachen Variablen (x = 1).

Navigation

Zurück zu Micropython Kurs 2023 - Teil 1
Zurück zur "Micropython Kurs 2023" Startseite
Zurück zur Programmieren Startseite
Zurück zur Wiki Startseite

Diese Seite wurde zuletzt am 3. Oktober 2023 um 11:28 Uhr geändert. Diese Seite wurde bisher 1.243 mal abgerufen.