Pretty Printer in Python

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Bright4.55
User
Beiträge: 1
Registriert: Mittwoch 26. November 2025, 10:31

Hallo zusammen,

ich wollte mal kurz fragen, ob es in Python so etwas wie einen Pretty Printer gibt?

Also eine Funktion, die die ganzen Funtkionen, IF-Bedingungen, Schleifen usw. gleich richtig einrückt, so wie es auch sein sollte :).

Kennt da jemand eine IDE die das hat dafür? Geht das mit VS-Code beispielsweise?

Vielen Dank im Voraus.
Benutzeravatar
DeaD_EyE
User
Beiträge: 1297
Registriert: Sonntag 19. September 2010, 13:45
Wohnort: Hagen
Kontaktdaten:

Um Python-Objekte formatiert auszugeben, kann man pprint nutzen: https://docs.python.org/3/library/pprint.html
Die Bibliothek rich bietet noch mehr.


Dir geht es wahrscheinlich darum, den Quellcode zu formatieren:
sourceserver.info - sourceserver.info/wiki/ - ausgestorbener Support für HL2-Server
Benutzeravatar
sparrow
User
Beiträge: 4589
Registriert: Freitag 17. April 2009, 10:28

@Bright4.55: VSV kann das und es gibt entsprechende Plugins um das noch zu erweitern.
Gefühlt kann das aber jeder bessere Editor. Also wenn ds nicht gerade der Standardeditor von Windows.
Benutzeravatar
__blackjack__
User
Beiträge: 14235
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

Was Datenstrukturen angeht gibt es zwischen `pprint` aus der Standardbibliothek und `rich` noch `prettyprinter`: https://prettyprinter.readthedocs.io/en/latest/
“Ich bin für die Todesstrafe. Wer schreckliche Dinge getan hat, muss eine angemessene Strafe bekommen. So lernt er seine Lektion für das nächste Mal.” — Britney Spears, Interview in der französischen Zeitung Libération, 2. April 2002
Sirius3
User
Beiträge: 18329
Registriert: Sonntag 21. Oktober 2012, 17:20

Jeder sinnvolle Editor weiß, dass man nach einem : die nächste Zeile um 4 Leerzeichen einrücken muß. Ob das "richtig" ist, muß aber die Person vor dem Bildschirm wissen.
Ansonsten gibt es noch etliche Projekte, die eine einheitliche Formatierung von Python-Dateien erreichen wollen. Das Thema heißt "linter".
(https://www.marketcalls.in/python/a-com ... ained.html)
Benutzeravatar
__blackjack__
User
Beiträge: 14235
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

Also zwischen Linter und Formatter gibt es eine ziemlich deutliche Grenze. Linter sagen einem nur was für Probleme sie im Code gefunden haben, und das geht deutlich über Meldungen zur Formatierung hinaus. Während Formatierer aktiv den Quelltext umformatieren, dafür aber keine Meldungen über andere, inhaltliche Probleme machen. Pylint kann als Linter nicht den Formatierer Black oder Ruff ersetzen und umgekehrt.
“Ich bin für die Todesstrafe. Wer schreckliche Dinge getan hat, muss eine angemessene Strafe bekommen. So lernt er seine Lektion für das nächste Mal.” — Britney Spears, Interview in der französischen Zeitung Libération, 2. April 2002
Benutzeravatar
DeaD_EyE
User
Beiträge: 1297
Registriert: Sonntag 19. September 2010, 13:45
Wohnort: Hagen
Kontaktdaten:

ruff kann beides :-)
sourceserver.info - sourceserver.info/wiki/ - ausgestorbener Support für HL2-Server
Benutzeravatar
__blackjack__
User
Beiträge: 14235
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

Das ist dann nach eigener Ansicht auch beides: „An extremely fast Python linter and code formatter, written in Rust.“
“Ich bin für die Todesstrafe. Wer schreckliche Dinge getan hat, muss eine angemessene Strafe bekommen. So lernt er seine Lektion für das nächste Mal.” — Britney Spears, Interview in der französischen Zeitung Libération, 2. April 2002
Antworten