Programmieren lernen in Python Installationsvoraussetzungen: python ipython ====== Hello World ====== Interaktiv $ python >>> print("Hello world") Datei #! /usr/bin/env python print("Hello world") BUCH: Seite 24 ====== Variablen ====== Variablen sind Namen für Werte ("Behälter für Dinge") die Namen können aus Buchstaben und Zahlen und Unterstrich bestehen und sollen mit einem kleinen Buchstaben anfangen * http://www.python-kurs.eu/python3_variablen.php * https://en.wikibooks.org/wiki/Python_Programming/Variables_and_Strings * http://www.pasteur.fr/formation/infobio/python/ch02s03.html * http://www.tutorialspoint.com/python/python_basic_syntax.htm BUCH: Seite 34 ===== Datentypen (I): Skalar ===== ==== Zahl ==== * http://www.python-kurs.eu/python3_operatoren.php * http://www.mediasonics.ch/_archiv/programming_python/projekt/06.html * http://docs.python.org/3.4/library/stdtypes.html#numeric-types-int-float-complex BUCH: Seite 85 ==== String ==== * http://openbook.galileocomputing.de/python/python_kapitel_15_001.htm#t2t31 * http://www.python-kurs.eu/python3_sequentielle_datentypen.php * https://docs.python.org/3.4/library/stdtypes.html#text-sequence-type-str * https://docs.python.org/3.4/library/string.html#format-examples * https://docs.python.org/3.4/tutorial/inputoutput.html#fancier-output-formatting BUCH: Seiten 97 und 151 ==== Boolean ==== * http://openbook.galileocomputing.de/python/python_kapitel_08_003.htm#mjfb4d02fccab9edcdc5ad084f35eaeaa6 * https://docs.python.org/3.4/library/stdtypes.html?highlight=boolean#truth-value-testing * http://www.mediasonics.ch/_archiv/programming_python/projekt/06.html BUCH: Seite 131 ==== undefinierte Werte ==== * http://openbook.galileocomputing.de/python/python_kapitel_08_002.htm * http://www.mediasonics.ch/_archiv/programming_python/projekt/05.html#none * https://docs.python.org/3.4/library/constants.html#None BUCH: Seite 134 ====== Bedingte Anweisung und Verzweigung ====== * http://openbook.galileocomputing.de/python/python_kapitel_06_001.htm#t2t31 * http://www.mediasonics.ch/_archiv/programming_python/projekt/07.html * http://www.python-kurs.eu/python3_bedingte_anweisungen.php * https://docs.python.org/3.4/tutorial/controlflow.html BUCH: Seite 44 ====== Schleifen ====== * http://openbook.galileocomputing.de/python/python_kapitel_06_002.htm#t2t31 * http://www.python-kurs.eu/python3_schleifen.php und http://www.python-kurs.eu/python3_for-schleife.php * https://docs.python.org/3.4/tutorial/controlflow.html#for-statements * http://www.mediasonics.ch/_archiv/programming_python/projekt/07.html BUCH: Seiten 53, 54 und 59 ====== Datentypen (II): Array ====== * http://openbook.galileocomputing.de/python/python_kapitel_08_005.htm#t2t32 * http://www.python-kurs.eu/python3_sequentielle_datentypen.php und http://www.python-kurs.eu/python3_listen.php * https://docs.python.org/3.4/tutorial/introduction.html#lists und https://docs.python.org/3.4/tutorial/datastructures.html#more-on-lists * http://www.mediasonics.ch/_archiv/programming_python/projekt/05.html#sequential BUCH: Seite 109 ===== Die Argumentenliste ===== * https://docs.python.org/3.4/library/sys.html#sys.argv * https://docs.python.org/3.4/tutorial/interpreter.html#argument-passing * http://openbook.galileocomputing.de/python/python_kapitel_17_003.htm#t2t32 BUCH: Seite 193 ====== Mengenschleifen und Iteratoren ====== Links: * http://openbook.galileocomputing.de/python/python_kapitel_06_002.htm#t2t35 * http://www.python-kurs.eu/python3_for-schleife.php * https://docs.python.org/3.4/tutorial/controlflow.html#for-statements * https://docs.python.org/3.4/tutorial/datastructures.html#looping-techniques BUCH: Seite 58 Aufgabe: Schreibe dein Programm so um, dass es über die eingegebenen Namen iteriert. Die Ausgabe des Programms bleibt dabei gleich, nur intern verändert sich etwas, so dass der Programmcode etwas anders aussieht. ====== IO (I) ====== ===== STDIN ===== * http://openbook.galileocomputing.de/python/python_kapitel_09_002.htm * http://www.python-kurs.eu/python3_eingabe.php * https://docs.python.org/3.4/library/functions.html?highlight=input#input BUCH: Seite 144 ===== Datei importieren ===== --> Wir wollen: Tastatur (stdin/stdout), Dateien lesen als Daten, Dateien eval'en Links: * http://openbook.galileocomputing.de/python/python_kapitel_11_001.htm * http://www.python-kurs.eu/python3_modularisierung.php * https://docs.python.org/3.4/tutorial/modules.html BUCH: Seiten 190 und 43 Aufgabe: Verändere dein Programm so, dass der Name aus einer Konfigurationsdatei importiert wird, wenn kein Name übergeben wurde. Wenn einer oder mehrere Namen übergeben wurden, bleibt die Funktionalität unverändert. Wenn kein Name übergeben wurde, soll die Konfigurationsdatei importiert werden. Wenn in der Konfigurationsdatei kein Name festgelegt wurde (oder die Datei nicht gefunden wurde), soll wie gehabt der Name abgefragt werden. Danach (wie gehabt) die Ausgabe des Grußes. ====== Datentypen (III): Hash/Dictionary ====== * http://openbook.galileocomputing.de/python/python_kapitel_08_006.htm#t2t31 * http://www.python-kurs.eu/python3_dictionaries.php * http://www.mediasonics.ch/_archiv/programming_python/projekt/05.html#dictionary * https://docs.python.org/3.4/tutorial/datastructures.html#dictionaries * https://docs.python.org/3.4/library/stdtypes.html#typesmapping BUCH: Seite 115 ====== IO (II) ====== ===== Datei einlesen ===== * http://openbook.galileocomputing.de/python/python_kapitel_09_003.htm#t2t31 * http://www.python-kurs.eu/python3_dateien.php * http://www.mediasonics.ch/_archiv/programming_python/projekt/11.html * https://docs.python.org/3.4/tutorial/inputoutput.html#reading-and-writing-files * https://docs.python.org/3.4/library/functions.html#open BUCH: Seiten 243ff ====== Reguläre Ausdrücke ====== * http://openbook.galileocomputing.de/python/python_kapitel_15_002.htm#t2t31 * http://www.python-kurs.eu/python3_re.php * https://docs.python.org/3.4/howto/regex.html#regex-howto * https://docs.python.org/3.4/library/re.html BUCH: Seite 234