14. Lektion: Variablen vielfalt.extend(): Difference between revisions
Jump to navigation
Jump to search
No edit summary |
|||
| (24 intermediate revisions by the same user not shown) | |||
| Line 1: | Line 1: | ||
* | == Zuweisungsvielfalt== | ||
Python ermöglicht es mehreren Variablen gleichzeitig Werte zuzuweisen. | |||
* Mehrfach Zuweisung eines Wertes: | |||
* | <pre> | ||
>>> a = b = c = 42 | |||
* | >>> print(a, b, c) | ||
* | 42 42 42 | ||
>>> | |||
</pre> | |||
* | * Mehrfachzuweisung verschiedener Werte: | ||
<pre> | |||
>>> a, b, c = 1, 2, 3 | |||
>>> print(a, b, c) | |||
1 2 3 | |||
* | >>> | ||
</pre> | |||
* Mehrfachzuweisung aus einer Liste: | |||
<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> | |||
===== | == Inhalte tauschen== | ||
* | <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).
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