Installation der folgenden Anwendungen
Anaconda starten:
Jupyter starten:
Ein neues Jupyter Notebook erstellen:
In [1]:
# Ausgabe
print("Hello World!")
In [57]:
# 3 hoch 2 und danach in String umwandeln
x = str(3**2)
In [55]:
# Zurück nach float umwandeln
float(x)
Out[55]:
In [67]:
# [:5] = die ersten 5
# [5:6] = zwischen 5 und 6
# [len(y)-1] = vom gesamten String den letzten Buchstaben
# [11:] = der Buchstabe nach dem 11ten Buchstaben
y = "Hello World!"
y[:5]+y[5:6]+y[len(y)-1]+y[11:]
Out[67]:
In [98]:
# String anhand der Leerzeichen trennen und in einer Liste umwandeln
liste = "A B C D E".split(" ")
print(liste)
In [103]:
# Den ersten Buchastaben austauschen
liste[0] = "x"
# Liste erweitern | pop() würde den letzten Eintrag wieder löschen
liste.append("F")
# Liste als String zusammensetzen
myString = "_".join(liste)
print(myString)
In [104]:
print("C" in myString)
In [106]:
# Überprüfung auf Gleichheit
a = "a"
b = "b"
a == b
Out[106]:
In [120]:
# hash map
myMap = {"a":1, "b":2}
myMap["b"]
Out[120]:
In [124]:
print(myMap.get("a"))
In [121]:
# hash map - Reihenfolge wird random gespeichert
myMap["b"] = myMap["b"]+1
print(myMap)
In [133]:
# hash map erweitern
m = {"c":4}
myMap.update(m)
print(myMap)
In [134]:
# b löschen
myMap.pop("b")
Out[134]:
In [139]:
# Kommaseparierte Werte mit Tupel
# Ein Tupel lässt sich nicht mehr verändern (immutable)
a = (1,2,3,4,5,6)
print(a)
# a an der Stelle 5 ausgeben
print(a[5])
In [142]:
# if / else
a = 100
if a < 2:
print("a kleiner 2")
else:
print("a größer 2")
In [143]:
liste = ["a", "b", "c"]
for x in liste:
print(x)
In [144]:
liste = ["a", "b", "c"]
for x in liste:
if x != "b":
print(x)
In [27]:
# List Comprehensions
liste = [1, 2, 3, 4, 5]
liste2 = [wert*5 for wert in liste]
print(liste2)
In [29]:
# List Comprehensions + Filter
liste = [1, 2, 3, 4, 5]
liste2 = [wert*5 for wert in liste if wert ==2]
print(liste2)
In [124]:
# Exception handling
# https://docs.python.org/3.7/library/exceptions.html#IndexError
liste = [1, 2, 3, 4, 5]
try:
print(liste[6])
except:
print("IndexError!")
In [23]:
# break & continue
liste = ["a", "b", "c", "d", "e"]
for x in liste:
print(x)
if x == "b":
break
In [146]:
# Iteration über keys
myMap = {"a":1, "b":2}
for x in myMap:
print(x)
In [133]:
# Set erlaubt immer nur ein Element vom gleichen Type
mySet = {"a", "a", "c", "d", "e"}
print(mySet)
print("e" in mySet)
# Welcher Wert ist in beiden Sets zu finden
mySet2 = {"a", "x"}
print(mySet & mySet2)
# Alle Werte, die nicht in beiden Sets vorkommen
print(mySet ^ mySet2)
# Set erweitern
mySet.add("f")
print("f" in mySet)
# "f" aus set wieder löschen
mySet.remove("f")
print("f" in mySet)
In [163]:
# Tupel Ausgabe
print(myMap.items())
for x in myMap.items():
(key, value) = x
print(value)
In [162]:
for key, value in myMap.items():
print(key)
In [164]:
for i in range(1, 3):
print(i)
In [166]:
# Jede zweite Stelle ausgeben
for i in range(1, 10, 2):
print(i)
In [172]:
# Runter zählen
for i in range(3, 0, -1):
print(i)
In [13]:
x = 10
while x>8:
x-=1
print(x)
In [44]:
# Funktion + Schleife 5x Durchlaufen, falls counter Parameter nicht übergeben wird
def myFunction(zeichenkette, counter=5):
for i in range(0, counter):
print(zeichenkette + str(counter))
myFunction("Function", 2)
In [10]:
# Dokumentation: innerhalb der Funktion statt außerhalb
def myFunction(zeichenkette, counter=5):
"""Beschreibung der Function
Args:
counter: beschreibung.
Returns:
Beschreibung des Rückgabewertes.
"""
for i in range(0, counter):
print(zeichenkette + str(counter))
help(myFunction)
In [53]:
# Paramater & Function übergeben
def myFunction(a="a", b="b", c="c"):
print(a+" "+b+" "+c)
def f():
return "X"
myFunction(b=f())
In [114]:
# Pass by reference
x = 'x'
liste1 = []
liste1.append(x)
liste2 = liste1
liste2.append('y')
x = 'z'
print(x, liste1, liste2)
In [70]:
# Lambda function Parameter x & y übergeben
# def f(x, y):
# return x*y
f = lambda x, y: x*y
f(2,3)
Out[70]:
In [79]:
# Lambda Funktion auf jedes Listenelement anwenden
f = lambda x: x*2
liste = [1, 2, 3, 4, 5]
# list iteriert durch die map und schreibt die Werte in list bzw. x
x = list(map(f, liste))
print(x)
In [95]:
# Klasse, private Variable u. private Funktion
class Mensch:
# constructor
def __init__(self, cm):
self.__hoehe = cm
print("Sprunghöhe constructor: "+str(cm))
def springen(self):
print("Sprunghöhe function: "+str(self.__hoehe))
def upgrade(self):
self.__hoehe = self.__hoehe
def __privateUpgrade(self):
print("Private Funktion")
# constructor Aufruf
mann = Mensch(1.50)
mann.__hoehe = 1.70
mann.upgrade()
mann.springen()
In [109]:
# Vererbung
class Mensch:
def kannSpringen(self):
print("kann springen")
class Mann(Mensch):
def kannSitzen(self):
print("kann sitzen")
obj = Mann()
obj.kannSpringen()
print(type(obj))
print(type(obj) == Mensch)
isinstance(obj, Mensch)
Out[109]: