14. Lektion: Variablen vielfalt.extend(): Difference between revisions

From Attraktor Wiki
Jump to navigation Jump to search
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..."
 
 
(25 intermediate revisions by the same user not shown)
Line 1: Line 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>

Latest revision as of 12:28, 3 October 2023

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