Path: csiph.com!fu-berlin.de!uni-berlin.de!individual.net!not-for-mail From: Hermann Riemann Newsgroups: de.comp.lang.python Subject: Re: Wie sieht Python fuer mich aus? Date: Mon, 9 Jan 2017 07:22:22 +0100 Lines: 130 Message-ID: References: Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Trace: individual.net dohqGcW58gxKwiy9alpJNQ2zSw6bg7SGIIpHoyQx0lGYrVGXM9 Cancel-Lock: sha1:Wmf8vIr/sZEaa4usNOJb5qA1j9I= User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.5.1 In-Reply-To: Xref: csiph.com de.comp.lang.python:4622 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 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