Ein Block ist eine Gruppe von Anweisungen in einem Programm oder einem Skript. Üblicherweise besteht er aus wenigstens einer Anweisung und Deklarationen für den Block, abhängig von der Skript- oder Programmiersprache. Eine Sprache, die die Strukturierung mit Blöcken ermöglicht, wird als strukturierte Programmiersprache bezeichnet.
Im allgemeinen können Blöcke wieder Blöcke enthalten, d.h. wir erhalten verschachtelte Blockstrukturen.
In einem Skript oder einem Programm dienen Blöcke auch dazu mehrere Anweisungen so zu gruppieren, dass sie wie eine Anweisung behandelt werden können.
Außerdem werden Blöcke auch dazu genutzt, den Geltungsbereich von Variablen und Funktionen einzuschränken.
Mehr Infos zu „Strukturierung durch Einrückung“
Sprachen wie Pascal benutzen begin … end Statements zur Blockbildung
begin
x := 5;
y := 10;
z := x + y;
end
andere Sprachen wie C, C++, Perl oder Java benutzen die { } Klammern zur Blockbildung
if(x==42) {
printf("The Answer to the ulimate question of life\n");
}
else {
printf("Just a number!");
}
Die Einrückung wie im obigen Code ist durch die Art der Blockbildung aber nicht zwingend notwendig. Man könnte den Code auf folgendermaßen schreiben.
if(x==42) {printf("The Answer to the ulimate question of life\n");} else {printf("Just a number!");}
Das Strukturierungsprinzip von Python unterscheidet sich deutlich von anderen Programmiersprachen. Wie eingangs bereits beschrieben, strukturieren andere Programmiersprachen ihre Programmblöcke durch Schlüsselwörter, wie beispielsweise „begin„, „end„, „do„, „done“ oder geschweifte Klammern.
Leerzeichen, Folgen von Leerzeichen oder Einrückungen sind für die Compiler und Interpreter von den meisten Programmiersprachen ohne jede Semantik, d.h. sie werden überlesen. Dennoch wird Programmierern aber immer empfohlen, Blöcke durch gleichmäßge Einrückungen für menschliche Benutzer besser verständlich zu machen.
In Python ist dies nun gänzlich anders. Hier haben Leerzeichen eine Bedeutung. Die Einrückung von Zeilen und die Benutzung von Leerzeichen am Anfang von Zeilen dienen hier als Strukturierungselement, so dass Programmierer „gezwungen“ werden übersichtlichen Code zu schreiben.

Anweisungskopf:
Anweisung1
...
Anweisung x