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: 3
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: 4596
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: 14246
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/
“All tribal myths are true, for a given value of 'true'.” — Terry Pratchett, The Last Continent
Sirius3
User
Beiträge: 18331
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: 14246
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.
“All tribal myths are true, for a given value of 'true'.” — Terry Pratchett, The Last Continent
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: 14246
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.“
“All tribal myths are true, for a given value of 'true'.” — Terry Pratchett, The Last Continent
Bright4.55
User
Beiträge: 3
Registriert: Mittwoch 26. November 2025, 10:31

Okay, super. VIelen Dank schon mal. Ich werde die Möglichkeiten jetzt mal anschauen und gucken, was für mich am besten ist :)
Antworten