Beispielübung zum Thema Vererbung class Student: def __init__(self, firstname, surname): self.firstname = firstname self.surname = surname def getName(self): return self.firstname + " " + self.surname class WorkingStudent(Student): # bei def __init__ wird self immer übergeben + delegierte Parameter def __init__(self, firstname, surname, company): # bei Vererbung wird kein self übergeben super()...
Umlaute
Damit Python vernünftig mit Umlauten (in Dateien) umgeht, musst Du utf-8 nutzen. import os filename = os.path.join(os.path.dirname(__file__), "umlaute.txt") # Datei einlesen mit utf-8 with open (filename, "r", encoding="utf-8") as file: for line in file: print(line) # Datei schreiben mit utf-8 filename_out = os.path.join(os.path.dirname(__file__), "umlaute_out.txt") with open (filename_out, "w"...
String Funktionen
In diesem Beitrag schauen wir uns die verschiedenen Möglichkeiten der String-Funktionen an: alles groß (.upper) und alles klein (.lower) print("Hallo Welt".upper()) # HALLO WELT print("Hallo Welt".lower()) # hallo welt Auf Satzzeichen prüfen satz = "- Hallo Du?" if satz[-1] == "?": print("Der Satz enthält ein Fragezeichen!") # prüft am Ende if satz.endswith("?"): print("Der Satz enthält ein...
Strings formatieren
Unterschiedlichste Elemente lassen sich am einfachsten mit in einen String umwandeln. n = 5 print("Ich habe " + str(n) + " Vögel.") print("I got " + str(n) + " birds.") Lösung mit Dictionary n = 5 translations = { "number_of_dogs" : "Ich habe XXX Hunde" "number_of_cats" : "Ich habe XXX Katzen" } print(translations["number_of_dogs"].replace("XXX", str(n))) print(translations["number_of_cats"]...
queue und priority queue
Die priority queue ist eine lineare Datenstruktur, in der die Daten nach dem „first in – first out“ (FIFO-) Prinzip verwaltet werden. Das erste eingefügte Element wird auch wieder als erstes entfernt. Andere Elemente können nicht entfernt werden. csv Beispiel (file.csv) Name;Alter;Wohnort Christian;35;Musterstadt Harald;42;Beispielhausen Tom;32;Beispielstadt Anne;39;Musterhausen...
Objektorientierung
Eine Klasse wird mit definiert. Nachfolgend wirst Du häufiger das Wort Methode statt Funktion lesen. Das kommt daher, dass eine Funktion innerhalb einer Klasse Methode genannt wird. Die Möglichkeiten und die Deklaration sind identisch. Zu beachten ist bei den Klassen: um auf Attribute des Objekts zugreifen zu können, muss übergeben werden. class Tree(): def getInfo(self): print(self.name + " ist...
Lottozahlen Generator
import random zahl_1 = [1,2,3,4,5,6,7,8,9] zahl_2 = [1,2,3,4,5,6,7,8,9] zahl_3 = [1,2,3,4,5,6,7,8,9] zahl_4 = [1,2,3,4,5,6,7,8,9] zahl_5 = [1,2,3,4,5,6,7,8,9] zahl_6 = [1,2,3,4,5,6,7,8,9] zahl_7 = [1,2,3,4,5,6,7,8,9] lottozahlen = [zahl_1,zahl_2,zahl_3,zahl_4,zahl_5,zahl_6,zahl_7] lottozahlen_print = [] for zahl in lottozahlen: # Zufallszahlen aus einer Liste r = random.randint(0,len(zahl)-1) #...
Listen verschachteln
Ein Liste, gefüllt mit weiteren Listen: lists = [ ["Python", "PHP", "Ruby", "C", "C++", "C#"], ["SQL", "PLSQL", "NoSQL", "MariaDB", "MongoDB"] ] print(lists[0][0]) # Python print(lists[1][3]) # Maria DB Auch ein Dictionary lässt sich mit weiteren Listen befüllen: students = { "Klasse_1": ["Max", "Peter", "Ralf", "Edgar"], "Klasse_2": ["Franz", "Petra", "Klaus", "Monika"] }...
Input
Um Konsolenprogramme ein wenig zum Leben zu erwecken, ist ein Eingabe- bzw. Input-Funktion ganz nützlich. Probieren wir ein einfaches Beispiel:
age = input("Bitte gib dein alter ein: ")
age2 = input("Bitte gib das alter deines Partners ein: ")
print(age + ", " + age2)
sum = int(age) + float(age2)
print("Alter zusammen: " + str(sum))
Funktionen
Eine ganz einfache Funktion, der Du einen Wert übergeben kannst, sieht so aus: def greets(name): # str() wandelt in String, falls z.B. eine Zahl eingegeben wird print("Hallo " + str(name)) greets("Christian") In Funktionen können natürlich auch weitere Funktionen oder Loops definieren sein. Probieren wir es mit einem einfachen for-loop: def test(name, count): for i in range(0,count): ...