Re: [Python-de] Wie sieht Python fuer mich aus?
Am 08.01.2017 um 18:52 schrieb Stefan Ram:
Ich hatte mich bisher praktisch nicht mit Python beschäftigt,
Ich habe vor ca 10 Jahre begonnen auch Python zu verwenden. ( Ich brauchte eine script-Sprache für cgi und da hat Python wegen guter Lesbarkeit Python gegen perl ruby und PHP gewonnen.)
aber hatte in den letzten 24 Stunden einmal kurz eine Einführung in Python überflogen.
Ich will was machen und schaue dann in Bücher wie Python kurz&gut nach wie das geht. Schließlich sind die meisten modernen Sprachen C Ableger. ( Wer COBOL, LISP, FORTRAN .. kennt. )
Einige Stunden danach, wollte ich mich einmal hinsetzen, und die Dinge notieren, die ich mir davon gemerkt habe. Ich habe dabei versucht, Dinge wegzulassen, die so sind wie in allen anderen Programmiersprachen oder zu Python 2 gehören, und kam auf folgendes:
Die Einrückung
Die Tiefe ist egal, aber wenn man zurückkehrt, so muß dies zu einer vorher schon verwendeten übergeordneten Tiefe geschehen.
Muster
a: b c d: e f
Häufig werden vier Leerzeichen verwendet.
In meiner Praxis gibt es 4 Python Einsatzarten. 1. Taschenrechner (Python auf Konsole) 2. "einmal" Bearbeitung, meist Text ( Python Datei in /tmp) 3. Dauerhafte Verwendung (häufigster Fall): Python Datei Quellordner/was.py was dann nach $HOME/bin/was kopiert wird. 4. cgi statt $HOME/bin/was ist $CGI/was.py. ( Kann im browser über http://url/was.py aufgerufen werden.) Bei Editoren wie xemacs, emac und kate habe ich die Voreinstellung ( wie auch bei C) auf 3 eingestellt.
Literale
Es gibt unter anderem eine Art von Listenliteral mit eckigen Klammern.
Und vor allen weitgehend gleich einfache Syntax wie bei Felder .. a[i:j] etc, Schleifen ..
Kommentare Endzeilenkommentar mit »#«.
Langsam gewinne ich den Eindruck, das dies noch mal für den C Präprozessor für mich nützlich sein wird. ( #include #define ..)
Aufrufe
Um eine Zufallsfunktion verwenden zu können, muß erst ein Zufallsmodul importiert werden.
Bei einer Funktion tippe ich erst den Namen ein, und wenn Python den nicht findet, schaue ich nach dem Modul. #import os,sys ist bei mit in den meisten Pythonprogrammen enthalten.
Ausgeben
»print« rundet Zahlen bei der Ausgabe etwas, während die Konsole alle Nachkommastellen anzeigt.
Das gibt es (oder gab es) bei cgi noch ein Problem mit utf8 Ich verwende da ein stdout=codes. etc.
Eine Variable wird durch eine Zuweisung definiert. Eine Variable hat keinen Typ, sondern Werte haben einen Typ.
Ab Python 3.7 kann sich da vielleicht ein wenig ändern. ( Aufwärtskompatible Erweiterung)
Eine Variable wird an eine Liste gebunden, die Liste wird also bei einer Zuweisung nicht kopiert. (Kopieren kann mit nachgestelltem slice »[:]« erfolgen.)
Listen werden teilweise wie C++ vektor behandelt, mit dem Unterschied das in python die Elemente nicht vom gleichen Typ sein müssen. Mit Listen kann man lisp weitgehend nachbauen. ( Allerdings gibt es kein eval auf Listen.)
Funktionsdefinitionen
Soll die Funktion einen leeren Rumpf haben, schreibt man »pass«.
Das pass läßt sich auch anders z.B. elif a<b: pass verwenden.
Es gibt ein »elseif« (oder ähnlich).
elif statt case Dann gibt es noch die Formatierung. 3 Formen 1. C-ähnlich mit %s 2. .format mit {} 3. besser? als C++ mit f"text {Variablennamem:formatcode}.." 3 ist erst ab Python 3.7 erhältlich, was (leider) noch nicht einfach z.B. über .rpm erhältlich ist. Hermann der meist in python3 programmiert und viele seiner C Programme auf python3 umgeschrieben hat. -- http://www.hermann-riemann.de
Am 09.01.2017 um 07:22 schrieb Hermann Riemann: [...]
Häufig werden vier Leerzeichen verwendet.
[...]
Bei Editoren wie xemacs, emac und kate habe ich die Voreinstellung ( wie auch bei C) auf 3 eingestellt.
Das mit den vier Leerzeichen kommt hierher. https://www.python.org/dev/peps/pep-0008/ Und eine einheitliche Verwendung ist sicher Sinnvoll. Thomas -- I have seen things you lusers would not believe. I've seen Sun monitors on fire off the side of the multimedia lab. I've seen NTU lights glitter in the dark near the Mail Gate. All these things will be lost in time, like the root partition last week.
Am 09.01.2017 um 18:36 schrieb Thomas Orgelmacher:
Bei Editoren wie xemacs, emac und kate habe ich die Voreinstellung ( wie auch bei C) auf 3 eingestellt.
Das mit den vier Leerzeichen kommt hierher. https://www.python.org/dev/peps/pep-0008/ Und eine einheitliche Verwendung ist sicher Sinnvoll.
Njein. Man kann mit einem Python Programm die Zahl führende Leerezeichen leicht umstellen. f=open(dateiname) lines=f.readlines() f.close f=open(dateiname,"w") for line in lines: z=line.lstrip() f.write((len(line)-len(z))*neu_leerzeichen//alt_leerzeichen*' ') f.write(z); f.close() Hermann der das Programm nicht getestet hat. -- http://www.hermann-riemann.de
participants (2)
-
Hermann Riemann -
Thomas Orgelmacher