Ist Python eine Interpretersprache?

4 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Jein.

Python wird in der Regel in einen Bytecode kompiliert, der dann ausgeführt wird. Das ist also ein bisschen ähnlich wie bei Java, funktioniert aber wie ein transparenter Cache: als Anwender merke ich davon nichts, wenn ich nicht will. Für den Anwender ist es eine interpretierte Sprache.

Die Grenzen zwischen interpretiert und kompiliert sind generell fließender, als es anfangs scheint. Speziell dynamisch typisierte und spät bindende Sprachen wie Python, die viele Dinge zur Laufzeit entscheiden, lassen sich weniger gut in einen "festgezurrten" Binärcode kompilieren im Vergleich zu z.B. sowas wie C.

naaman 
Fragesteller
 23.06.2021, 16:36

Um es mal auf den Punkt zu bringen. Worauf ich mit der Frage hinaus wollte, ist dies:

Den Code kann ich nicht ohne die Programmieroberfläche Python laufen lassen. Sprich, es wird am Ende keine direkt auszuführende EXE-Datei erzeugt.

Richtig?

0
alfredo153  23.06.2021, 16:39
@naaman

Ja. Es gibt zwar diverse Python-to-EXE-Dinger, aber die packen letztlich nur Python mit deinem Programm zusammen und funktionieren auch nicht immer.

Der einzig zuverlässige Weg für moderne Python-Programme ist also nur mit Interpreter zu laufen.

2
naaman 
Fragesteller
 23.06.2021, 16:49
@alfredo153

Das finde ich als ein Nachteil. Das erstaunliche dabei ist, das scheinbar alle Welt auf Python abfährt, wobei Python ein ähnlich alter Hut ist, wie Basic.

Dabei gibt es Basic-IDE die EXE-Dateien erzeugen, die ohne Probleme unter allen WIN-Versionen laufen. Ich finde was will man mehr.

0
alfredo153  23.06.2021, 17:13
@naaman

Ja, Python hat einige Nachteile. Einer der größten ist das Konfigurationsmanagement. Wenn dein Python-Programm Abhängigkeiten hat (also Bibliotheken verwendet), kannst du die nicht einfach zu deinem Programm dazupacken. Sie müssen sozusagen in der globalen Umgebung installiert werden. Das ist in der Praxis teils furchtbar umständlich und es muss oft mit "virtuellen Umgebungen" und sowas gearbeitet werden (das macht das beliebte Anaconda). Mitunter ist der einzig vernünftige Weg, komplexe Python-Programme zu verteilen, per Docker-Container...

1
orochi02  09.12.2021, 09:29
@naaman

windows ist nicht das einzige relevante betriebssystem und exe dateien sind nicht die einzigen relevanten programme. außerdem gehe ich davon aus dass du visual basic meinst und vb ist halt von microsoft, weshalb das tooling besser integriert ist

0

Ja, das ist korrekt.

Heutige Interpreter kompilieren zwar auch im Hintergrund, aber du erhältst eben nicht das Kompilat in Form einer direkt ausführbaren Datei, die nicht mehr im Quellcode vorliegt.

Ja.
Der Vorteil ist eben, dass man Programme schreiben und direkt ausführen kann.

jede sprache kann kompiliert/interpretiert werden. nur ist die referenzimplementierung von python cpython

Woher ich das weiß:Recherche
naaman 
Fragesteller
 09.12.2021, 10:55

"jede sprache kann kompiliert/interpretiert werden."

"kompiliert/interpretiert" ist nicht das Selbe.

Es gibt Programmieroberflächen (Sprachen) die arbeiten nur im Interpretermodus. Wieder andere lassen sowohl den Interpretermodus zu, als auch das Kompilieren.

0
orochi02  09.12.2021, 10:55
@naaman

ich hab doch gar nicht gesagt dass es das selbe wäre?

0
naaman 
Fragesteller
 09.12.2021, 10:58
@orochi02

wollte ich nur richtig stellen.

Ich hatte den Eindruck: "kompiliert/interpretiert" wäre für dich das Selbe, da es hier so geschrieben stand: kompiliert/interpretiert".

Nichts für ungut.

0