Dies ist ein interaktives Notebook um den Einstig in das Programmieren mit Python zu begleiten.
Jede Zelle kann interaktiv ausgeführt werden, in dem entweder das ▶ - Symbol in der oberen Leiste mit der Maus gewählt wird, oder die Tasten-Kombination <kbd>⇧ Shift</kbd><kbd>Enter</kbd> in der Zeile ausgeführt werden.
Probieren Sie es aus: Setzten Sie den Cursor in Zelle [2] mit dem Inhalt `1 + 2` und drücken Sie <kbd>⇧ Shift</kbd><kbd>Enter</kbd>
%% Cell type:code id: tags:
``` python
1+2
```
%%%% Output: execute_result
3
%% Cell type:markdown id: tags:
Das Ergenis sollte in der Zeile darunter erscheinen. Ein Notebook funktioniert analog zu einer Kommandozeile in der ein interaktiver Python Interpreter, die sog. [REPL-Umgebung](https://en.wikipedia.org/wiki/Read%E2%80%93eval%E2%80%93print_loop) läuft.
Oft werden hier einzelne Ausgaben von Text, Variablen-Werten wie Ergebnissen ausgegeben. Dazu wird die `print` Funktion ausgeführt, die fest in Python eingebaut ist:
%% Cell type:code id: tags:
``` python
print("Hallo Python")
```
%%%% Output: stream
Hallo Python
%% Cell type:markdown id: tags:
In diesem Falle wurde die Zeichenkette `Hello Python` als sog. Parameter and die Funktion übergeben. Zeichenketten werden mit `"` begonnen und beendet.
%% Cell type:markdown id: tags:
## Variablen und Datentypen
Statt ein Ergebnis einfach nur zu berechnen und in der Konsole oder dem Notebook auszugeben, können wir den Wert auch einer Variblen zuweisen. Der Python-Interpreter sucht dabei automatisch den passenden Datenytpen aus:
%% Cell type:code id: tags:
``` python
Ergebnis=1+2
print(Ergebnis)
Ergebnis
```
%%%% Output: stream
%%%% Output: execute_result
3
%% Cell type:markdown id: tags:
### Variablenamen
%% Cell type:markdown id: tags:
Es können beliebig viele Variablen in ein Skript eingefügt werden. Variablen müssen eindeutige Namen haben
%% Cell type:markdown id: tags:
### Datentypen
%% Cell type:markdown id: tags:
Jede Variable in Python hat einen Datentypen. Streng genommen ist jeder Datentyp in Python selber ein Objekt
%% Cell type:code id: tags:
``` python
Ergebnis=3*5
type(Ergebnis)
```
%%%% Output: execute_result
int
%% Cell type:markdown id: tags:
Jedes mal wenn ein neuer Wert einer vorhandenen Variablen zugewiesen wird, kann sich der Datentyp ändern. Hier wird `Ergebnis` zu einer Gleitkommazahl vom Typ `float`
%% Cell type:code id: tags:
``` python
Ergebnis=3.5/5
type(Ergebnis)
```
%%%% Output: execute_result
float
%% Cell type:markdown id: tags:
Datentypen können explizit angegeben werden:
%% Cell type:code id: tags:
``` python
f=float(1)
f
```
%%%% Output: execute_result
1.0
%% Cell type:code id: tags:
``` python
type(f)
```
%%%% Output: execute_result
float
%% Cell type:code id: tags:
``` python
ganzzahl_pi=int(3.14)
ganzzahl_pi
```
%%%% Output: execute_result
3
%% Cell type:code id: tags:
``` python
type(ganzzahl_pi)
```
%%%% Output: execute_result
int
%% Cell type:markdown id: tags:
# Textausgabe und Zeichenketten
%% Cell type:markdown id: tags:
Variablen können mit `print()` ausgegeben werden:
%% Cell type:code id: tags:
``` python
help(int)
Ergebnis=3*5
print(Ergebnis)
```
%%%% Output: stream
Help on class int in module builtins:
class int(object)
| int([x]) -> integer
| int(x, base=10) -> integer
|
| Convert a number or string to an integer, or return 0 if no arguments
| are given. If x is a number, return x.__int__(). For floating point
| numbers, this truncates towards zero.
|
| If x is not a number or if base is given, then x must be a string,
| bytes, or bytearray instance representing an integer literal in the
| given base. The literal can be preceded by '+' or '-' and be surrounded
| by whitespace. The base defaults to 10. Valid bases are 0 and 2-36.
| Base 0 means to interpret the base from the string as an integer literal.
| >>> int('0b100', base=0)
| 4
|
| Methods defined here:
|
| __abs__(self, /)
| abs(self)
|
| __add__(self, value, /)
| Return self+value.
|
| __and__(self, value, /)
| Return self&value.
|
| __bool__(self, /)
| self != 0
|
| __ceil__(...)
| Ceiling of an Integral returns itself.
|
| __divmod__(self, value, /)
| Return divmod(self, value).
|
| __eq__(self, value, /)
| Return self==value.
|
| __float__(self, /)
| float(self)
|
| __floor__(...)
| Flooring an Integral returns itself.
|
| __floordiv__(self, value, /)
| Return self//value.
|
| __format__(self, format_spec, /)
| Default object formatter.
|
| __ge__(self, value, /)
| Return self>=value.
|
| __getattribute__(self, name, /)
| Return getattr(self, name).
|
| __getnewargs__(self, /)
|
| __gt__(self, value, /)
| Return self>value.
|
| __hash__(self, /)
| Return hash(self).
|
| __index__(self, /)
| Return self converted to an integer, if self is suitable for use as an index into a list.
|
| __int__(self, /)
| int(self)
|
| __invert__(self, /)
| ~self
|
| __le__(self, value, /)
| Return self<=value.
|
| __lshift__(self, value, /)
| Return self<<value.
|
| __lt__(self, value, /)
| Return self<value.
|
| __mod__(self, value, /)
| Return self%value.
|
| __mul__(self, value, /)
| Return self*value.
|
| __ne__(self, value, /)
| Return self!=value.
|
| __neg__(self, /)
| -self
|
| __or__(self, value, /)
| Return self|value.
|
| __pos__(self, /)
| +self
|
| __pow__(self, value, mod=None, /)
| Return pow(self, value, mod).
|
| __radd__(self, value, /)
| Return value+self.
|
| __rand__(self, value, /)
| Return value&self.
|
| __rdivmod__(self, value, /)
| Return divmod(value, self).
|
| __repr__(self, /)
| Return repr(self).
|
| __rfloordiv__(self, value, /)
| Return value//self.
|
| __rlshift__(self, value, /)
| Return value<<self.
|
| __rmod__(self, value, /)
| Return value%self.
|
| __rmul__(self, value, /)
| Return value*self.
|
| __ror__(self, value, /)
| Return value|self.
|
| __round__(...)
| Rounding an Integral returns itself.
| Rounding with an ndigits argument also returns an integer.
|
| __rpow__(self, value, mod=None, /)
| Return pow(value, self, mod).
|
| __rrshift__(self, value, /)
| Return value>>self.
|
| __rshift__(self, value, /)
| Return self>>value.
|
| __rsub__(self, value, /)
| Return value-self.
|
| __rtruediv__(self, value, /)
| Return value/self.
|
| __rxor__(self, value, /)
| Return value^self.
|
| __sizeof__(self, /)
| Returns size in memory, in bytes.
|
| __str__(self, /)
| Return str(self).
|
| __sub__(self, value, /)
| Return self-value.
|
| __truediv__(self, value, /)
| Return self/value.
|
| __trunc__(...)
| Truncating an Integral returns itself.
|
| __xor__(self, value, /)
| Return self^value.
|
| bit_length(self, /)
| Number of bits necessary to represent self in binary.