Programmier-1-mal-1: Methoden
Methoden erlauben dir, Code in Sinnabschnitte einzuteilen, und diesen wiederzuverwenden.
Hauptmethode Einfach
In der Hauptmethode wird der Code definiert, welcher bei jedem Programmstart ausgeführt wird.
int main() {
// Dein Code
return 0;
// 0 als Rückgabewert bedeutet, dass das Programm erfolgreich beendet wurde.
}public class Main {
public static void main(String[] args) {
// Dein Code
}
}In Python gibt es keine explizite Hauptmethode.
Den Einstiegspunkt definiert man hier über folgendes Konstrukt:
if __name__ == '__main__':
# Dein CodeMethoden ohne Rückgabewert Einfach
Wird kein Rückgabewert benötigt, können Methoden dennoch hilfreich sein, um ein Programm zu struktorieren.
Das folgende Beispiel gibt eine Zeichenkette mit vorangestelltem Pfeil in das Terminal aus.
#include <iostream>
#include <string>
using std::cout;
using std::endl;
// In C-basierten Programmiersprachen (wie C++) muss eine Methode strikt vor dem Aufruf deklariert werden
void druckeMitPfeil(std::string output);
int main() {
druckeMitPfeil("Hallo aus C++!");
return 0;
}
// Die Definition der oben deklarierten Methode
void druckeMitPfeil(std::string output) {
cout << "⟶ " << output << std::endl;
}public class Main {
public static void main(String[] args) {
druckeMitPfeil("Hallo aus Java!")
}
static void druckeMitPfeil(String output) {
System.out.println("⟶ " + output);
}
}Python bietet zahlreiche Komfort-Features.
So lassen sich Zeichenketten mit vorangestelltem f vor den “-Zeichen einfach formatieren.
def druckeMitPfeil(output):
print(f"-> {output}")
if __name__ == '__main__':
druckeMitPfeil("Hallo aus Python!")Methoden mit Rückgabewert Mittel
Durch einen Rückgabewert lassen sich Berechnungen in einem seperaten Abschnitt des Quelltextes durchführen.
Das macht den Code nicht nur übersichtlicher, sondern erspart auch dir und dem Computer sehr viel Arbeit, da einmal definierte Methoden beliebig oft aufgerufen werden können.
In folgendem Beispiel nutzen wir die Funktion wasIstGroesser, um zu ermitteln, welcher Eingabewert größer ist.
Als Rückgabe wird der Bezeichner ‘a’ oder ‘b’ (oder ’=’, falls a und b gleich groß sind) zurückgegeben und kann weiterverarbeitet werden.
Hier geben wir einfach nur das Ergebnis in die Konsole aus.
#include <iostream>
using std::cout;
char wasIstGroesser(int a, int b) {
if (a > b) return 'a';
else if (b > a) return 'b';
// Dadurch, dass die Ausführung der Funktion nach der 'return'-Anweisung beendet wird,
// können wir uns hier (übrigens auch in der zweiten Zeile der Methode) das 'else' sparen.
return '=';
}
int main() {
cout << wasIstGroesser(69, 420);
return 0;
}public class Main {
static char wasIstGroesser(int a, int b) {
if (a > b) return 'a';
else if (b > a) return 'b';
// Dadurch, dass die Ausführung der Funktion nach der 'return'-Anweisung beendet wird,
// können wir uns hier (übrigens auch in der zweiten Zeile der Methode) das 'else' sparen.
return '=';
}
public static void main(String[] args) {
System.out.print(wasIstGroesser(69, 420));
}
}Im Gegensatz zu anderen Programmiersprachen werden in Python keine geschweiften Klammern verwendet, um einen Körper zu kennzeichnen.
Stattdessen funktioniert hier alles per Einrückung mit Tab.
Auch Datentypen werden in Python nicht explizit deklariert.
def wasIstGroesser(a, b):
if a > b:
return 'a'
elif b > a:
return 'b'
# Dadurch, dass die Ausführung der Funktion nach der 'return'-Anweisung beendet wird,
# können wir uns hier (übrigens auch in der zweiten Zeile der Methode) das 'else' sparen.
return '='
if __name__ == '__main__':
print(wasIstGroesser(69, 420))