Automatisiertes Testen mit dem Doctest-Modul
|
|
|
- Karoline Bergmann
- vor 9 Jahren
- Abrufe
Transkript
1 Automatisiertes Testen mit dem Doctest-Modul Chemnitzer Linuxtage 2009 Stefan Schwarzer, SSchwarzer.com Chemnitz, Germany,
2 Automatisiertes Testen mit dem Doctest-Modul Stefan Schwarzer, 2 / 27 Überblick Unittests Automatisiertes Testen Testgetriebene Entwicklung Tests in Docstrings Tests in Textdateien Tipps und Tricks Test-Infrastruktur Zusammenfassung
3 Automatisiertes Testen mit dem Doctest-Modul Stefan Schwarzer, 3 / 27 Unittests Unittests testen einen Teil (= Unit) des Codes, zum Beispiel eine Funktion, eine Methode, eine Klasse oder ein Modul Unittests sind keine Funktionstests (Funktionstests testen die Funktionalität eines Programms aus Anwendersicht)
4 Automatisiertes Testen mit dem Doctest-Modul Stefan Schwarzer, 4 / 27 Automatisiertes Testen Warum automatisiert testen? Wiederholbarkeit Schnelle Ausführung vieler Tests Hilfe bei der Refaktorierung (= Umstellung von Code ohne Änderung der Funktionalität) Dokumentation
5 Automatisiertes Testen mit dem Doctest-Modul Stefan Schwarzer, 5 / 27 Testgetriebene Entwicklung Erst den Testcode schreiben, dann den zu testenden Code Vorteil: Schnittstelle sauberer, das heißt, weniger von einer bestimmten Implementierung abhängig
6 Automatisiertes Testen mit dem Doctest-Modul Stefan Schwarzer, 5 / 27 Testgetriebene Entwicklung Erst den Testcode schreiben, dann den zu testenden Code Vorteil: Schnittstelle sauberer, das heißt, weniger von einer bestimmten Implementierung abhängig Entsprechend: bei Erweiterungen des bestehenden Codes zuerst Tests anpassen
7 Automatisiertes Testen mit dem Doctest-Modul Stefan Schwarzer, 5 / 27 Testgetriebene Entwicklung Erst den Testcode schreiben, dann den zu testenden Code Vorteil: Schnittstelle sauberer, das heißt, weniger von einer bestimmten Implementierung abhängig Entsprechend: bei Erweiterungen des bestehenden Codes zuerst Tests anpassen Bei Programmfehlern: erst einen Test schreiben, der den Fehler nachweist, dann testen, dann das Programm verbessern, dann wieder testen Vorteil: es ist besser erkennbar, dass der Test den Fehler nachweist bzw. dass er nach der Code-Änderung behoben ist
8 Automatisiertes Testen mit dem Doctest-Modul Stefan Schwarzer, 5 / 27 Testgetriebene Entwicklung Erst den Testcode schreiben, dann den zu testenden Code Vorteil: Schnittstelle sauberer, das heißt, weniger von einer bestimmten Implementierung abhängig Entsprechend: bei Erweiterungen des bestehenden Codes zuerst Tests anpassen Bei Programmfehlern: erst einen Test schreiben, der den Fehler nachweist, dann testen, dann das Programm verbessern, dann wieder testen Vorteil: es ist besser erkennbar, dass der Test den Fehler nachweist bzw. dass er nach der Code-Änderung behoben ist Testgetriebene Entwicklung ist zuerst ungewohnt, macht aber Spaß, wenn man sich erstmal dran gewöhnt hat :-)
9 Automatisiertes Testen mit dem Doctest-Modul Stefan Schwarzer, 6 / 27 Beispielcode für einen Unittest hallo.py def gruess(name): """Gib einen Gruss an name zurueck.""" return u"hallo %s" % name
10 Automatisiertes Testen mit dem Doctest-Modul Stefan Schwarzer, 7 / 27 Test mit dem unittest-modul Code unittest hallo.py import unittest import hallo class TestHallo(unittest.TestCase): def test_gruess(self): ergebnis = hallo.gruess(u"tim") erwartet = u"hallo Tim" self.assertequal(ergebnis, erwartet) unittest.main()
11 Automatisiertes Testen mit dem Doctest-Modul Stefan Schwarzer, 8 / 27 Test mit unittest Ausführung ~/f/projekte/clt2009$ python unittest_hallo.py
12 Automatisiertes Testen mit dem Doctest-Modul Stefan Schwarzer, 8 / 27 Test mit unittest Ausführung ~/f/projekte/clt2009$ python unittest_hallo.py Ran 1 test in 0.000s OK ~/f/projekte/clt2009$
13 Automatisiertes Testen mit dem Doctest-Modul Stefan Schwarzer, 9 / 27 Test mit doctest Code hallo.py def gruess(name): """Gib einen Gruss an name zurueck.""" return u"hallo %s" % name
14 Automatisiertes Testen mit dem Doctest-Modul Stefan Schwarzer, 9 / 27 Test mit doctest Code hallo.py def gruess(name): """Gib einen Gruss an name zurueck. >>> gruess(u"tim") u Hallo Tim """ return u"hallo %s" % name
15 Automatisiertes Testen mit dem Doctest-Modul Stefan Schwarzer, 9 / 27 Test mit doctest Code hallo.py import doctest def gruess(name): """Gib einen Gruss an name zurueck. >>> gruess(u"tim") u Hallo Tim """ return u"hallo %s" % name doctest.testmod()
16 Automatisiertes Testen mit dem Doctest-Modul Stefan Schwarzer, 10 / 27 Test mit doctest Ausführung ~/f/projekte/clt2009$ python hallo.py
17 Automatisiertes Testen mit dem Doctest-Modul Stefan Schwarzer, 10 / 27 Test mit doctest Ausführung ~/f/projekte/clt2009$ python hallo.py ~/f/projekte/clt2009$
18 Automatisiertes Testen mit dem Doctest-Modul Stefan Schwarzer, 11 / 27 Test mit doctest Ausführung mit -v ~/f/projekte/clt2009$ python hallo.py -v
19 Automatisiertes Testen mit dem Doctest-Modul Stefan Schwarzer, 11 / 27 Test mit doctest Ausführung mit -v ~/f/projekte/clt2009$ python hallo.py -v Trying: gruess(u"tim") Expecting: u Hallo Tim ok 1 items had no tests: main 1 items passed all tests: 1 tests in main.gruess 1 tests in 2 items. 1 passed and 0 failed. Test passed. ~/f/projekte/clt2009$
20 Automatisiertes Testen mit dem Doctest-Modul Stefan Schwarzer, 11 / 27 Test mit doctest Ausführung mit -v ~/f/projekte/clt2009$ python hallo.py -v Trying: gruess(u"tim") Expecting: u Hallo Tim ok 1 items had no tests: main 1 items passed all tests: 1 tests in main.gruess 1 tests in 2 items. 1 passed and 0 failed. Test passed. ~/f/projekte/clt2009$
21 Automatisiertes Testen mit dem Doctest-Modul Stefan Schwarzer, 12 / 27 Doctest bei fehlerhaftem Code Code hallo.py import doctest def gruess(name): """Gib einen Gruss an name zurueck. >>> gruess(u"tim") u Hallo Tim """ return u"hallo, %s" % name doctest.testmod()
22 Automatisiertes Testen mit dem Doctest-Modul Stefan Schwarzer, 13 / 27 Doctest bei fehlerhaftem Code Ausführung ~/f/projekte/clt2009$ python hallo.py
23 Automatisiertes Testen mit dem Doctest-Modul Stefan Schwarzer, 13 / 27 Doctest bei fehlerhaftem Code Ausführung ~/f/projekte/clt2009$ python hallo.py ************************************************** File "hallo.py", line 6, in main.gruess Failed example: gruess(u"tim") Expected: u Hallo Tim Got: u Hallo, Tim ************************************************** 1 items had failures: 1 of 1 in main.gruess ***Test Failed*** 1 failures. ~/f/projekte/clt2009$
24 Automatisiertes Testen mit dem Doctest-Modul Stefan Schwarzer, 13 / 27 Doctest bei fehlerhaftem Code Ausführung ~/f/projekte/clt2009$ python hallo.py ************************************************** File "hallo.py", line 6, in main.gruess Failed example: gruess(u"tim") Expected: u Hallo Tim Got: u Hallo, Tim ************************************************** 1 items had failures: 1 of 1 in main.gruess ***Test Failed*** 1 failures. ~/f/projekte/clt2009$
25 Automatisiertes Testen mit dem Doctest-Modul Stefan Schwarzer, 13 / 27 Doctest bei fehlerhaftem Code Ausführung ~/f/projekte/clt2009$ python hallo.py ************************************************** File "hallo.py", line 6, in main.gruess Failed example: gruess(u"tim") Expected: u Hallo Tim Got: u Hallo, Tim ************************************************** 1 items had failures: 1 of 1 in main.gruess ***Test Failed*** 1 failures. ~/f/projekte/clt2009$
26 Automatisiertes Testen mit dem Doctest-Modul Stefan Schwarzer, 13 / 27 Doctest bei fehlerhaftem Code Ausführung ~/f/projekte/clt2009$ python hallo.py ************************************************** File "hallo.py", line 6, in main.gruess Failed example: gruess(u"tim") Expected: u Hallo Tim Got: u Hallo, Tim ************************************************** 1 items had failures: 1 of 1 in main.gruess ***Test Failed*** 1 failures. ~/f/projekte/clt2009$
27 Automatisiertes Testen mit dem Doctest-Modul Stefan Schwarzer, 14 / 27 Zeichenketten Zeichenketten in der Ausgabe müssen genau so wie im Interpreter dargestellt werden: >>> "Test" Test
28 Automatisiertes Testen mit dem Doctest-Modul Stefan Schwarzer, 14 / 27 Zeichenketten Zeichenketten in der Ausgabe müssen genau so wie im Interpreter dargestellt werden: >>> "Test" Test >>> u"test" + mit Doctest u Test mit Doctest
29 Automatisiertes Testen mit dem Doctest-Modul Stefan Schwarzer, 14 / 27 Zeichenketten Zeichenketten in der Ausgabe müssen genau so wie im Interpreter dargestellt werden: >>> "Test" Test >>> u"test" + mit Doctest u Test mit Doctest >>> """Stefan s falsches Apostroph""" "Stefan s falsches Apostroph"
30 Automatisiertes Testen mit dem Doctest-Modul Stefan Schwarzer, 15 / 27 Test auf Exceptions Eingerückte Punkte ersetzen den Aufrufstack Die Punkte haben nichts mit der ELLIPSIS-Option (siehe unten) zu tun Sowohl der Name als auch der Text dahinter müssen mit denen der tatsächlich ausgelösten Exception übereinstimmen >>> vortragsinfo(u Pflege von Felsenpinguinen ) Traceback (most recent call last):... CLTError: "Pflege von Felsenpinguinen" fällt aus
31 Automatisiertes Testen mit dem Doctest-Modul Stefan Schwarzer, 16 / 27 Tests in Textdateien Abwechselnd erklärender Text und Tests Literate Testing Beliebiges Markup des erklärenden Textes (zum Beispiel restructuredtext) Zu testende Codeblöcke einrücken Ausführung der Tests mit doctest.testfile(dateiname)
32 Automatisiertes Testen mit dem Doctest-Modul Stefan Schwarzer, 17 / 27 Tests in einer Textdatei test hallo.txt Das Modul hallo.py ==================== Das Modul hallo enthält die Methode gruess, die einem Menschen einen freundlichen Gruß entbietet. Der Name der Person wird als Zeichenketten-Argument übergeben: >>> import hallo >>> hallo.gruess("tim") u Hallo Tim Das Argument kann auch ein Unicode-String sein: >>> hallo.gruess(u"mike") u Hallo Mike
33 Automatisiertes Testen mit dem Doctest-Modul Stefan Schwarzer, 18 / 27 Tests in einer Textdatei Ausführung ~/f/projekte/clt2009$ python \ -c "import doctest; \\ doctest.testfile( test_hallo.txt )"
34 Automatisiertes Testen mit dem Doctest-Modul Stefan Schwarzer, 18 / 27 Tests in einer Textdatei Ausführung ~/f/projekte/clt2009$ python \ -c "import doctest; \\ doctest.testfile( test_hallo.txt )" ~/f/projekte/clt2009$
35 Automatisiertes Testen mit dem Doctest-Modul Stefan Schwarzer, 18 / 27 Tests in einer Textdatei Ausführung ~/f/projekte/clt2009$ python \ -c "import doctest; \\ doctest.testfile( test_hallo.txt )" ~/f/projekte/clt2009$ Für mehrere Dateien (gegebenenfalls im Makefile): ~/f/projekte/clt2009$ find testverzeichnis \ -name test_*.txt \ -exec python -c "import doctest; \\ doctest.testfile( {} )" \;
36 Automatisiertes Testen mit dem Doctest-Modul Stefan Schwarzer, 19 / 27 Tipps und Tricks ELLIPSIS Problem: Ein Teil der Ausgabe ändert sich bei jeder Ausführung >>> class C(object): pass... >>> C() < main.c object at 0xb7ce61ec> Lösung: ELLIPSIS-Option >>> C() #doctest: +ELLIPSIS < main.c object at 0x...>
37 Automatisiertes Testen mit dem Doctest-Modul Stefan Schwarzer, 20 / 27 Tipps und Tricks <BLANKLINE> Problem: Eine Leerzeile signalisiert das Ende der Ausgabe und verhindert dadurch den Vergleich von Ausgaben mit enthaltenen Leerzeilen >>> mit leerzeile() # funktioniert so nicht eins drei Lösung: <BLANKLINE> statt Leerzeile >>> mit leerzeile() eins <BLANKLINE> drei
38 Automatisiertes Testen mit dem Doctest-Modul Stefan Schwarzer, 21 / 27 Tipps und Tricks IGNORE EXCEPTION DETAIL Problem: Verschiedene Python-Versionen verwenden unterschiedliche Texte nach dem Namen einer Exception >>> list(3) # Python 2.5 Traceback (most recent call last):... TypeError: int object is not iterable (bei Python 2.4: iteration over non-sequence ) Lösung: Option IGNORE EXCEPTION DETAIL >>> list(3) #doctest: +IGNORE_EXCEPTION_DETAIL Traceback (most recent call last):... TypeError: int object is not iterable
39 Automatisiertes Testen mit dem Doctest-Modul Stefan Schwarzer, 22 / 27 Tipps und Tricks NORMALIZE WHITESPACE Problem: Formatierte Ausgaben sind übersichtlicher, lassen aber den Test fehlschlagen >>> range(20) [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, Lösung: Option NORMALIZE WHITESPACE >>> range(20) #doctest: +NORMALIZE_WHITESPACE [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19] 17, 18, 19] 16,
40 Automatisiertes Testen mit dem Doctest-Modul Stefan Schwarzer, 23 / 27 Tipps und Tricks Dictionaries Problem: Die Reihenfolge von Dictionary-Elementen kann wechseln >>> vorwahlen { Hannover : 0511, Chemnitz : 0371 } Lösung: Dictionaries vergleichen oder Bestandteil prüfen >>> vorwahlen == dict(chemnitz= 0371, Hannover= 0511 ) True >>> vorwahlen[ Hannover ] 0511 >>> Hannover in vorwahlen True
41 Automatisiertes Testen mit dem Doctest-Modul Stefan Schwarzer, 24 / 27 Tipps und Tricks Zahlen vergleichen Problem: Die Zahlendarstellung hängt ab von Betriebssystem, C-Bibliothek, Python-Version etc. >>> 1./ Lösung: Zahlen in Zeichenketten konvertieren >>> "%.8f" % (1./13) >>> print round(1./13, 8) >>> round(1./13, 8) # funktioniert nicht
42 Automatisiertes Testen mit dem Doctest-Modul Stefan Schwarzer, 25 / 27 Test-Infrastruktur für Projekte Alle Tests leicht ausführbar machen (Makefile, Python-Skript etc.)
43 Automatisiertes Testen mit dem Doctest-Modul Stefan Schwarzer, 25 / 27 Test-Infrastruktur für Projekte Alle Tests leicht ausführbar machen (Makefile, Python-Skript etc.) Alle Tests häufig ausführen, zumindest vor einem Commit auf jeden Fall aber vor einem Release (Empfehlung: automatisch am Anfang von make release)
44 Automatisiertes Testen mit dem Doctest-Modul Stefan Schwarzer, 25 / 27 Test-Infrastruktur für Projekte Alle Tests leicht ausführbar machen (Makefile, Python-Skript etc.) Alle Tests häufig ausführen, zumindest vor einem Commit auf jeden Fall aber vor einem Release (Empfehlung: automatisch am Anfang von make release) In Docstrings nur einfache Verwendungsbeispiele schreiben, die man darin auch ohne Testabsicht aufnehmen würde
45 Automatisiertes Testen mit dem Doctest-Modul Stefan Schwarzer, 25 / 27 Test-Infrastruktur für Projekte Alle Tests leicht ausführbar machen (Makefile, Python-Skript etc.) Alle Tests häufig ausführen, zumindest vor einem Commit auf jeden Fall aber vor einem Release (Empfehlung: automatisch am Anfang von make release) In Docstrings nur einfache Verwendungsbeispiele schreiben, die man darin auch ohne Testabsicht aufnehmen würde Speziellere Tests nur in Textdateien
46 Automatisiertes Testen mit dem Doctest-Modul Stefan Schwarzer, 25 / 27 Test-Infrastruktur für Projekte Alle Tests leicht ausführbar machen (Makefile, Python-Skript etc.) Alle Tests häufig ausführen, zumindest vor einem Commit auf jeden Fall aber vor einem Release (Empfehlung: automatisch am Anfang von make release) In Docstrings nur einfache Verwendungsbeispiele schreiben, die man darin auch ohne Testabsicht aufnehmen würde Speziellere Tests nur in Textdateien Beim Schreiben der Dateien Zielgruppe im Auge behalten Entwickler oder Anwender des Codes?
47 Automatisiertes Testen mit dem Doctest-Modul Stefan Schwarzer, 25 / 27 Test-Infrastruktur für Projekte Alle Tests leicht ausführbar machen (Makefile, Python-Skript etc.) Alle Tests häufig ausführen, zumindest vor einem Commit auf jeden Fall aber vor einem Release (Empfehlung: automatisch am Anfang von make release) In Docstrings nur einfache Verwendungsbeispiele schreiben, die man darin auch ohne Testabsicht aufnehmen würde Speziellere Tests nur in Textdateien Beim Schreiben der Dateien Zielgruppe im Auge behalten Entwickler oder Anwender des Codes? Verzeichnisstruktur Testdateien im gleichen Verzeichnis wie der zu testende Code, mit Präfix (beispielweise test ); alternativ: Testdateien in eigenem Verzeichnis, normalerweise ebenfalls mit Präfix
48 Automatisiertes Testen mit dem Doctest-Modul Stefan Schwarzer, 26 / 27 Zusammenfassung Automatisierte Tests empfehlen sich zum wiederholten gründlichen Testen, als Hilfe beim Refaktorieren und zur testgetriebenen Entwicklung
49 Automatisiertes Testen mit dem Doctest-Modul Stefan Schwarzer, 26 / 27 Zusammenfassung Automatisierte Tests empfehlen sich zum wiederholten gründlichen Testen, als Hilfe beim Refaktorieren und zur testgetriebenen Entwicklung Einfache Doctests sind nichts anderes als Codebeispiele in Docstrings; sie werden mit doctest.testmod ausgeführt
50 Automatisiertes Testen mit dem Doctest-Modul Stefan Schwarzer, 26 / 27 Zusammenfassung Automatisierte Tests empfehlen sich zum wiederholten gründlichen Testen, als Hilfe beim Refaktorieren und zur testgetriebenen Entwicklung Einfache Doctests sind nichts anderes als Codebeispiele in Docstrings; sie werden mit doctest.testmod ausgeführt Doctests können auch in Textdateien geschrieben werden, was die Python-Dateien übersichtlich hält; doctest.testfile arbeitet solche Tests ab
51 Automatisiertes Testen mit dem Doctest-Modul Stefan Schwarzer, 26 / 27 Zusammenfassung Automatisierte Tests empfehlen sich zum wiederholten gründlichen Testen, als Hilfe beim Refaktorieren und zur testgetriebenen Entwicklung Einfache Doctests sind nichts anderes als Codebeispiele in Docstrings; sie werden mit doctest.testmod ausgeführt Doctests können auch in Textdateien geschrieben werden, was die Python-Dateien übersichtlich hält; doctest.testfile arbeitet solche Tests ab Erwartete Ausgaben müssen genau wie im Interpreter dargestellt werden
52 Automatisiertes Testen mit dem Doctest-Modul Stefan Schwarzer, 26 / 27 Zusammenfassung Automatisierte Tests empfehlen sich zum wiederholten gründlichen Testen, als Hilfe beim Refaktorieren und zur testgetriebenen Entwicklung Einfache Doctests sind nichts anderes als Codebeispiele in Docstrings; sie werden mit doctest.testmod ausgeführt Doctests können auch in Textdateien geschrieben werden, was die Python-Dateien übersichtlich hält; doctest.testfile arbeitet solche Tests ab Erwartete Ausgaben müssen genau wie im Interpreter dargestellt werden Diverse Doctest-Optionen und andere Hilfen unterstützen das Schreiben von Doctests
53 Automatisiertes Testen mit dem Doctest-Modul Stefan Schwarzer, 26 / 27 Zusammenfassung Automatisierte Tests empfehlen sich zum wiederholten gründlichen Testen, als Hilfe beim Refaktorieren und zur testgetriebenen Entwicklung Einfache Doctests sind nichts anderes als Codebeispiele in Docstrings; sie werden mit doctest.testmod ausgeführt Doctests können auch in Textdateien geschrieben werden, was die Python-Dateien übersichtlich hält; doctest.testfile arbeitet solche Tests ab Erwartete Ausgaben müssen genau wie im Interpreter dargestellt werden Diverse Doctest-Optionen und andere Hilfen unterstützen das Schreiben von Doctests Jedes Projekt sollte eine durchdachte Test-Infrastruktur haben. Die Tests sollten möglichst oft ausgeführt werden, vor allem unmittelbar vor einem Release
54 Automatisiertes Testen mit dem Doctest-Modul Stefan Schwarzer, 27 / 27 Danke für Ihre Aufmerksamkeit! :-) Fragen?
55 Automatisiertes Testen mit dem Doctest-Modul Stefan Schwarzer, 27 / 27 Danke für Ihre Aufmerksamkeit! :-) Fragen? Anmerkungen?
56 Automatisiertes Testen mit dem Doctest-Modul Stefan Schwarzer, 27 / 27 Danke für Ihre Aufmerksamkeit! :-) Fragen? Anmerkungen? Diskussion?
Nebenläufige Programme mit Python
Nebenläufige Programme mit Python PyCon DE 2012 Stefan Schwarzer, SSchwarzer.com [email protected] Leipzig, Deutschland, 2012-10-30 Nebenläufige Programme mit Python Stefan Schwarzer, [email protected]
Programmieren in Python
12. Unit-Testing Albert-Ludwigs-Universität Freiburg Handlungsplanungs-Praktikum Wintersemester 2010/2011 Wozu Unit-Testing? Autoritäre Antwort: Weil wir es im Praktikum von euch verlangen. Etwas bessere
Informatik I: Einführung in die Programmierung
Informatik I: Einführung in die Programmierung 5., bedingte Ausführung und Albert-Ludwigs-Universität Freiburg Bernhard Nebel 27. Oktober 2017 1 und der Typ bool Typ bool Typ bool Vergleichsoperationen
Grundlagen. Felix Döring, Felix Wittwer 24. April Python-Kurs
Grundlagen Felix Döring, Felix Wittwer 24. April 2017 Python-Kurs Gliederung 1. Über diesen Kurs 2. Der Python Interpreter 3. Python Scripte 4. Grundlagen der Sprache 5. Das erste Programm 6. Operatoren
Unittests für Einsteiger
Unittests für Einsteiger Johannes Hubertz TroLUG: Troisdorf, 6. November 2014 Johannes Hubertz Unittests für Einsteiger TroLUG: Troisdorf, 6. November 2014 1 / 45 Vorstellungsrunde Weshalb Tests? Doctests
Informatik I. 4. Funktionen: Aufrufe und Definitionen. 25. Oktober Albert-Ludwigs-Universität Freiburg. Informatik I.
4. Funktionen: Aufrufe und en Aufrufe Albert-Ludwigs-Universität Freiburg 25. Oktober 2013 1 / 23 Aufrufe Funktionsaufrufe 2 / 23 Funktionsaufrufe Innerhalb von Programmiersprachen ist eine Funktion ein
Informatik I. Informatik I. 6.1 Programme. 6.2 Programme schreiben. 6.3 Programme starten. 6.4 Programme entwickeln. 6.1 Programme.
Informatik I 05. November 2013 6. Python-, kommentieren, starten und entwickeln Informatik I 6. Python-, kommentieren, starten und entwickeln Bernhard Nebel Albert-Ludwigs-Universität Freiburg 05. November
Einführung in Python. Übung zur Vorlesung NLP Beate Krause, Dominik Benz NLP-Übung: Einführung in Python 1
Einführung in Python Übung zur Vorlesung NLP Beate Krause, Dominik Benz 22.04.2008 23.04.2008 NLP-Übung: Einführung in Python 1 Ablauf der Übung Klärung von aktuellen Fragen zur Vorlesung Kurze Einführung
1 Bedingungen und der Typ bool. Informatik I: Einführung in die Programmierung 5. Bedingungen, bedingte Ausführung und Schleifen. Vergleichsoperatoren
1 und der Informatik I: Einführung in die Programmierung 5., bedingte Ausführung und Albert-Ludwigs-Universität Freiburg Bernhard Nebel 27. Oktober 2015 27. Oktober 2015 B. Nebel Info I 3 / 21 Der Vergleichsoperatoren
Informatik I. Informatik I Iteratoren Generatoren Das Modul itertools. Iterierbare Objekte Iteratoren. Python-Interpreter
Informatik I 28.01.2014 25. und Informatik I 25. und Bernhard Nebel Albert-Ludwigs-Universität Freiburg 25.1 25.2 25.3 Das Modul itertools 28.01.2014 Bernhard Nebel (Universität Freiburg) Informatik I
Problem mit Pyload Geschrieben von Per - 17 Jul :57
Problem mit Pyload Geschrieben von Per - 17 Jul 2011 07:57 Hallo, ich habe den USB Stick der Dockstar getauscht und das System neu aufgesetzt. Ich habe wie immer die Anleitung von hier befolgt. Leider
Babeș-Bolyai Universität Cluj Napoca Fakultät für Mathematik und Informatik Grundlagen der Programmierung MLG5005. Modulare Programmierung
Babeș-Bolyai Universität Cluj Napoca Fakultät für Mathematik und Informatik Grundlagen der Programmierung MLG5005 Modulare Programmierung Test Driven Development Refactoring Modular programmierung der
Python 2. Vorlesung Computerlinguistische Techniken Alexander Koller. 28. Oktober 2014
Python 2! Vorlesung Computerlinguistische Techniken Alexander Koller! 28. Oktober 2014 Listen Sequenz von beliebigen Werten. Literale: [], [1,2,3], [ hallo, True, -5.0] Hinten an Liste anhängen: L.append(27)
Programmieren in Python
13. Docstrings und weitere Kleinigkeiten Albert-Ludwigs-Universität Freiburg Handlungsplanungs-Praktikum Wintersemester 2010/2011 Docstrings Dokumentation des Programms durch Kommentare im Code. Blockkommentare
Funktionen in Python
Funktionen in Python Prof. Dr. Rüdiger Weis Beuth Hochschule für Technik Berlin 1 / 31 1 def Anweisung 2 Argumentübergabe 3 Lokale Variablen 4 Default Argumente 5 Aufruf mit Schlüsselwort 6 Variable Argumente
Systematisches Testen
Systematisches Testen SEP 136 Unit Testing Objektorientierte Entwicklung Entwicklung von vielen unabhängigen Einheiten (Klassen, Methoden), aus denen das Gesamtprogramm zusammengesetzt wird. Ziel: Wenn
1 def Anweisung. 2 Argumentübergabe. 3 Lokale Variablen. 4 Default Argumente. 5 Aufruf mit Schlüsselwort. 6 Variable Argumente. Funktionen in Python
1 def Anweisung Sommersemester 2007 2 Argumentübergabe 3 Lokale Variablen 4 Default Argumente 5 Aufruf mit Schlüsselwort 6 Variable Argumente def Anweisung Beispiel: TuNix def def funktionsname([])
Funktionen in Python
October 19, 2006 1 def Anweisung 2 Argumentübergabe 3 Lokale Variablen 4 Default Argumente 5 Aufruf mit Schlüsselwort 6 Variable Argumente def Anweisung def def funktionsname([]) : [ Dokumentationsstring
JUnit - Test Driven Development. Bernhard Frey, Thorsten Stratmann, Jackson Takam, Michel Müller 1
JUnit - Test Driven Development Bernhard Frey, Thorsten Stratmann, Jackson Takam, Michel Müller 1 Gliederung 1.Einleitung 1.1 Geschichte 1.2 Was sind Unit-Tests? 1.3 Failures/Errors 1.4 Ziele und Nutzen
Test-driven development JUnit-Test. Lars Varain
Test-driven development JUnit-Test Lars Varain Inhalt Test-driven Development (TDD) Junit4 Beispiel Inhalt Test-driven Development (TTD) Warum TDD? Zyklus Ausnahmebehandlung Junit4 Beispiel Inhalt Test-driven
Python Workshop i. Python Workshop
i Python Workshop ii REVISION HISTORY NUMBER DATE DESCRIPTION NAME iii Contents 1 Hinweis 1 2 Python interaktiv 1 2.1 python......................................................... 1 2.2 ipython........................................................
C - PRÄPROZESSOR. Seminar effiziente C Programmierung WS 2012/13. Von Christian Peter
C - PRÄPROZESSOR Seminar effiziente C Programmierung WS 2012/13 Von Christian Peter Themen Was sind Präprozessoren? Beispiele für Präprozessoren Funktionsweisen Der C - Präprozessor Der # Präfix #include
Fortgeschrittenes Programmieren mit Java. Test Driven Development
Fortgeschrittenes Programmieren mit Java Test Driven Development Test getriebene Programmierung Benedikt Boeck Hochschule für Angewandte Wissenschaften Hamburg 6. November 2009 B. Boeck (HAW Hamburg) Test
Versionsverwaltung mit Mercurial für Einsteiger
Versionsverwaltung mit Mercurial für Einsteiger Chemnitzer Linuxtage 2009 Stefan Schwarzer, SSchwarzer.com [email protected] Chemnitz, Germany, 2009-03-14 Versionsverwaltung mit Mercurial für Einsteiger
Beuth Hochschule Parameter-Übergabe-Mechanismen WS17/18, S. 1
Beuth Hochschule Parameter-Übergabe-Mechanismen WS17/18, S. 1 Parameter-Übergabe-Mechanismen in Java und in anderen Sprachen. 1. Methoden vereinbaren mit Parametern Wenn man (z.b. in Java) eine Methode
Python zur Lösung von AvA Übung 1 VON MORITZ FEY
Python zur Lösung von AvA Übung 1 VON MORITZ FEY Übersicht 2 Einführung Socket-Schnittstellen Datei-Zugriff Aufbau der Nachrichten und Serialisierung Besonderheiten von Python Realisierung des Programms
Enterprise JavaBeans Überblick
Enterprise JavaBeans Überblick 1. Überblick Java EE 5 und Komponententechnologien 2. Einführung Java EE 5 Plattform 3. Enterprise JavaBeans Architektur 4. Ressourcen Management und Primäre Services 5.
JUnit. Software-Tests
JUnit Software-Tests Übersicht Einleitung JUnit Jia Li Grundlegendes Diana Howey Hendrik Kohrs Praktische Einbindung Benjamin Koch Zili Ye Einleitung in allgemeines Testen Automatische Tests Testen ist
Grundlagen von Python
Einführung in Python Grundlagen von Python Felix Döring, Felix Wittwer November 17, 2015 Scriptcharakter Programmierparadigmen Imperatives Programmieren Das Scoping Problem Objektorientiertes Programmieren
Vorsemesterkurs Informatik Übungsaufgaben. Tag 4a - Python
Vorsemesterkurs Informatik Übungsaufgaben Tag 4a - Python Aufgabe 1: Listen Mache dich im Python-Interpreter mit dem Umgang mit Listen vertraut. Kapitel 2.6 im Skript (s.40) enthält nützliche Informationen.
Programmierung in Python
Programmierung in Python imperativ, objekt-orientiert dynamische Typisierung rapid prototyping Script-Sprache Funktionales und rekursives Programmieren P raktische Informatik 1, W S 2004/05, F olien P
Mock-Objekte. Universität Karlsruhe (TH) Fakultät für Informatik Lehrstuhl für Programmiersysteme. Forschungsuniversität gegründet 1825
Universität Karlsruhe (TH) Forschungsuniversität gegründet 1825 Mock-Objekte Verschiedene Testhelfer Ein Stummel (engl. stub) ist ein nur rudimentär implementierter Teil der Software und dient als Platzhalter
Interface. So werden Interfaces gemacht
Design Ein Interface (=Schnittstelle / Definition) beschreibt, welche Funktionalität eine Implementation nach Aussen anzubieten hat. Die dahinter liegende Algorithmik wird aber der Implementation überlassen.
Bioinformatik für Biochemiker
Bioinformatik für Biochemiker Oliver Kohlbacher, Steffen Schmidt SS 2010 4. Python Basics Abt. Simulation biologischer Systeme WSI/ZBIT, Eberhard Karls Universität Tübingen Überblick Python Datentypen
Mails in Python senden
Mails in Python senden Felix Döring, Felix Wittwer 14. November 2016 Python-Kurs Gliederung 1. Grundlagen: Mails senden Das Modul smtplib 2. Komplexere Mails senden Das Modul email 1 Die folgenden Folien
Python Einführung. Monica Selva Soto. 24 März Mathematisches Institut
Mathematisches Institut [email protected] 24 März 2009 Übungen zur Numerik 1 Vorlesung Übungen praktische Aufgaben Webseite: (Anmeldung, Übungsblätter) http://www.mi.uni-koeln.de/~mselva/numerik1.php
Android: Navigation Drawer
Prof. Dr. Carsten Vogt,, Feb. 2015 Carsten Vogt,, 2015. Android: Navigation Drawer Prof. Dr. Carsten Vogt Prof. Dr. Carsten Vogt,, Feb. 2015 Carsten Vogt,, 2015. Android: Navigation Drawer 1.) Aussehen
Michael Weigend. Python GE-PACKT
Michael Weigend Python GE-PACKT E Einleitung 11 E.i Was ist Python? ai E.2 Einige besondere Merkmale von Python n E.3 Hinweise zum Lesen dieses Buches 13 1 Basiskonzepte von Python 15 1.1 Python im interaktiven
Property Based Testing
Property Based Testing Nicolai Mainiero sidion Testen ist schwer Testen ist schwer Warum? Alle Pfade durch den Code aufzuzählen ist aufwendig. Selbst vermeintlich einfache Systeme können komplex sein.
Grundlagen der Programmentwicklung
Informatik für Elektrotechnik und Informationstechnik Benedict Reuschling [email protected] Hochschule Darmstadt Fachbereich Informatik WS 2013/14 Über C++ Über C++ C++ ist eine in der Industrie
Testgesteuert Entwickeln mit JUnit 4
Testgesteuert Entwickeln mit JUnit 4 Tests nebenbei automatisieren Christoph Knabe Beuth-Hochschule für Technik Berlin Testgesteuert Entwickeln mit JUnit4, Christoph Knabe 2002, BHT Berlin, FB VI, 2016-10-20,
Debugging mit Python
Debugging mit Python PyCon DE 2012 Stefan Schwarzer, SSchwarzer.com [email protected] Leipzig, Deutschland, 2012-10-31 Debugging mit Python Stefan Schwarzer, [email protected] 2 / 23 Überblick Print-Anweisungen
Vorsemesterkurs Informatik
Vorsemesterkurs Informatik Programmieren und Programmiersprachen SoSe 2012 Stand der Folien: 26. März 2012 Übersicht Programme und Programmiersprachen Haskell 1 Programme und Programmiersprachen 2 Haskell
Subprozesse in Python
Subprozesse in Python Felix Döring, Felix Wittwer 24. April 2017 Python-Kurs Gliederung 1. Grundlagen Eigenschaften 2. Konstanten File Descriptoren Exceptions 3. Popen Klasse Wichtige Argumente 4. Popen
Perl-Praxis CPAN. Jörn Clausen
Perl-Praxis CPAN Jörn Clausen [email protected] Übersicht Organisation des CPAN Module suchen und finden Perl-Module installieren Module für shared libraries installieren Fehler in Perl-Skripten
Programmieren in Python
Ausgaben und Zahlen Programmieren in Python 2. Ausgaben und Zahlen Malte Helmert Albert-Ludwigs-Universität Freiburg In dieser Lektion geht es darum, ein erstes Gefühl für Python zu bekommen. Wir beschränken
Vom Testkonzept zu JUnit
Testen und Testkonzept Dipl.-Inf. (FH) Christopher Olbertz 2. Dezember 2014 Testen und Testkonzept Warum testen? Wichtig, obwohl bei Programmierern unbeliebt Stellt weitgehend korrekte Funktionsweise eines
Informatik I: Einführung in die Programmierung. Übungsblatt 3. Abgabe: Freitag, 15. November 2013, 18:00 Uhr
Informatik I: Einführung in die Programmierung Prof. Dr. Bernhard Nebel Dr. Christian Becker-Asano, Dr. Stefan Wölfl Wintersemester 2013/2014 Universität Freiburg Institut für Informatik Übungsblatt 3
SOFTWARE ENGINEERING 3 TESTVORBEREITUNGEN UND UNIT-TEST
SOFTWARE ENGINEERING 3 TESTVORBEREITUNGEN UND UNIT-TEST Gliederung 2 0. 1. 2. 3. Vorstellung Testvorbereitungen Planungsphase Definitionsphase Implementierungs-, Abnahme-und Einführungsphase Testphasen
Themen. Formatierte und unformatierte Eingabe Bedingungsoperator Namespaces Kommandozeilenargumente
Themen Formatierte und unformatierte Eingabe Bedingungsoperator Namespaces Kommandozeilenargumente Formatierte Eingabe mit cin Die Formatierung der Eingabe ist der Ausgabe sehr ähnlich: Die Flags werden
Shell. Oder Konsole suchen im Application Finder. Auch Terminal, Bash oder Kommandozeile genannt. Bash nimmt Befehle entgegen und führt diese aus
LUKAS LEIPOLD Shell Shell Oder Konsole suchen im Application Finder Auch Terminal, Bash oder Kommandozeile genannt Bash nimmt Befehle entgegen und führt diese aus Befehle I cd mkdir pwd rm mv cp ls ln
Finden und Vermeiden von Software-Fehlern
Kapitel 17: Finden und Vermeiden von Software-Fehlern Einführung in die Informatik Wintersemester 2007/08 Prof. Bernhard Jung "Die 10 schlimmsten Software-Fehler aller Zeiten" Wired-Magazin, 2005 http://www.netzeitung.de/internet/366911.html
Python Installation. 1 Vorbereitung. 1.1 Download. Diese Anleitung ist für Windows ausgelegt.
Python Installation 1 Vorbereitung Diese Anleitung ist für Windows ausgelegt. 1.1 Download Python kann online unter https://www.python.org/downloads/ heruntergeladen werden. Hinweis: Im CoderDojo verwenden
Module, Packete und PIP
Module, Packete und PIP Felix Döring, Felix Wittwer 14. November 2016 Python-Kurs Gliederung 1. Module Eigene Module Der Sinn der Boilerplate Suchpfad für Module Suchpfad modifizieren Standardmodule 2.
1 Funktionsaufrufe. Informatik I: Einführung in die Programmierung 4. Funktionen: Aufrufe und Definitionen. Funktionsaufrufe
1 Funktionsaufrufe Informatik I: Einführung in die Programmierung 4. : und en Albert-Ludwigs-Universität Freiburg Bernhard Nebel 21./25. Oktober 2016 21./25. Oktober 2016 B. Nebel Info I 3 / 36 Funktionsaufrufe
Framework zur Unterstützung von Unit-Tests
JUnit Framework zur Unterstützung von Unit-Tests Automatisierte Ausführung von Tests Ideen dahinter Testgetriebene Entwicklung: Erst testen, dann programmieren Alle Testfälle häufig ausführen (nach jeder
Teil I Debuggen mit gdb
Teil I Debuggen mit gdb Wer kennt das nicht? $./a.out Segmentation fault Was tun dagegen? printf()s in den Code einfügen? Besser (und professioneller): Einen Debugger verwenden Wer kennt das nicht? $./a.out
Testgetriebene Entwicklung mit JUnit4
Testgetriebene Entwicklung mit JUnit4 Seminarvortrag im Fach Fortgeschrittenes Programmieren in Java, Dozent: Prof. Klinker Datum: 30.04.2010 Referent: Marius Schmeding Ausgangsfragen... Wie testet man
Arithmetik in der tcsh
Arithmetik in der tcsh Variablen speichern Zeichenketten (also Strings/Wörter) @ statt set Interpretation als arithmetische Ausdrücke (aus Ziffern, (, ), +, -, *, /, % bestehend) Beispiele: @ var = (3
Web-Testen mit JUnit und HttpUnit. Kai Schmitz-Hofbauer Lehrstuhl für Software-Technik Ruhr-Universität Bochum
1 Web-Testen mit JUnit und HttpUnit Kai Schmitz-Hofbauer Lehrstuhl für Software-Technik Ruhr-Universität Bochum 2 Inhalt Entwicklertests in der Praxis Unit-Testing JUnit HttpUnit Praktisches Beispiel Bewertung
Programmierstil. Objektsammlungen. Konzepte. Zwischenspiel: Einige beliebte Fehler... Variablennamen Kommentare Layout Einrückung
Programmierstil Objektsammlungen Einführung in Sammlungen Variablennamen Kommentare Layout Einrückung (siehe: Stilrichtlinien im Buchanhang) 4.0 Konzepte Sammlungen (besonders: ArrayList) Schleifen: die
2 Teil 2: Nassi-Schneiderman
2 Teil 2: Nassi-Schneiderman Wie kann man Nassi-Schneiderman in einer objektorientierten Sprache verwenden? Jedes Objekt besitzt Methoden, welche die Attribute des Objektes verändern. Das Verhalten der
Erste Schritte mit Eclipse
Erste Schritte mit Eclipse März 2008, KLK 1) Java Development Kit (JDK) und Eclipse installieren In den PC-Pools der HAW sind der JDK und Eclipse schon installiert und können mit dem Application Launcher
Vorkurs Informatik WiSe 16/17
Java Schleifen und Arrays Dr. Werner Struckmann / Stephan Mielke, Jakob Garbe, 06.10.2016 Technische Universität Braunschweig, IPS Überblick Kommentare Typen Kontrollstrukturen Arrays 06.10.2016 Dr. Werner
Linux Kommandozeile: Einfache Skripte. 1 Wiederhohlung. 2 Einfache Skripte
Linux Kommandozeile: Einfache Skripte AST, Wintersemester 2016/2017 1 Wiederhohlung Hier sind ein paar Befehle, die ihr letzte Woche schon kennen gelernt habt und heute benutzt. Befehl Parameter Funktion
28. April 2006. Python ist eine Interpreter Sprache. einfach durch eigene C Module erweiterbar. Daten werden dynamisch getypt
Python in der Schule 28. April 2006 1 Grundlagen Wir 1 beziehen uns in unserer Zusammenfassung auf die Python Version 2.3.5 vom 8. Februar 2005. 2 Die Haupteigenschaften von Python sind: Python ist eine
Mapra: C++ Teil 3. Felix Gruber. 29. April IGPM, RWTH Aachen. Felix Gruber (IGPM, RWTH Aachen) Mapra: C++ Teil 3 29.
Mapra: C++ Teil 3 Felix Gruber IGPM, RWTH Aachen 29. April 2015 Felix Gruber (IGPM, RWTH Aachen) Mapra: C++ Teil 3 29. April 2015 1 / 11 Themen vom letzten Mal Debuggen mit gdb Zusammengesetzte Datentypen
Einführung in Python Teil I Grundlagen
Einführung in Python Teil I Grundlagen Valentin Flunkert Institut für Theoretische Physik Technische Universität Berlin Do. 27.5.2010 Nichtlineare Dynamik und Kontrolle SS2010 1 of 22 Diese Einführung
C++ OpenCppCoverage. Detlef Wilkening
http://www.wilkening-online.de Seite 1 / 52 C++ OpenCppCoverage Detlef Wilkening 10.11.2016 http://www.wilkening-online.de Seite 2 / 52 Warum überhaupt dieser Vortrag? Wir waren mal wieder in einer Gruppe
Übungsblatt 2. Abgabe: Freitag, 7. November 2014, 18:00 Uhr
Informatik I: Einführung in die Programmierung Prof. Dr. Bernhard Nebel Dr. Christian Becker-Asano, Dr. Stefan Wölfl Wintersemester 2014/2015 Universität Freiburg Institut für Informatik Übungsblatt 2
Programmierkurs Python I
Programmierkurs Python I Michaela Regneri 2010-01-21 (Folien basieren auf dem gemeinsamen Kurs mit Stefan Thater) Übersicht Mehr Abkürzungen in Python: - map - List Comprehensions Anonyme Funktionen, lambda
Testen und Debugging
Testen und Debugging Testklassen, Unit Tests Blackbox Test, Whitebox Test Regressionstesten Zusicherungen mit assert Debugger Informatik II: Objektorientierte SW-Entwicklung, Algorithmik, Nebenläufigkeit
Unit-Test Theorie und Praxis. Stephan Seefeld, INGTES AG
Unit-Test Theorie und Praxis Stephan Seefeld, INGTES AG Inhalt Was sind Unit-Test? NUnit für.net Demo Seite 2 Quellen Für diesen Vortrag verwendete Quellen: dotnet User Group Berlin Brandenburg http://www.dotnet-berlinbrandenburg.de/
3. Dokumentieren und Testen Advanced Programming Techniques Prof. Dr. Bernhard Humm FB Informatik, Hochschule Darmstadt
3. Dokumentieren und Testen Advanced Programming Techniques Prof. Dr. Bernhard Humm FB Informatik, Hochschule Darmstadt 1 Kontrollfragen zu Schnittstellen Was bedeutet Orthogonalität / Separation of Concerns?
Python für Linguisten
Python für Linguisten Dozentin: Wiebke Petersen & Co-Dozent: Valentin Heinz 4. Foliensatz bedingte Anweisungen Input, Output Petersen & Heinz Python 1 Vergleichsoperatoren und Boolsche Werte numerische
Konzeption. und prototypische Implementierung. eines Werkzeuges. für den funktionalen Klassentest
Konzeption und prototypische Implementierung eines Werkzeuges für den funktionalen Klassentest Übersicht Motivation Zielsetzung Lösungsansatz und dessen Realisierung Anwendungs-Szenarien Präsentation von
Programmieren in Python
Kommentare und hello.py Programmieren in Python 4. Sequenzen: Strings, Tupel, Listen Malte Helmert Albert-Ludwigs-Universität Freiburg KI-Praktikum, Sommersemester 2009 hello.py # So langsam werden die
Einführung in die Computerlinguistik
Einführung in die Computerlinguistik Übung 2 Laura Kallmeyer Sommersemester 204, Heinrich-Heine-Universität Düsseldorf Offizielle Python Seite, auf der man jede Menge Dokumentation findet: http://www.python.org/
Einführung in die Programmierung 1
Einführung in die Programmierung 1 Einführung (S.2) Einrichten von Eclipse (S.4) Mein Erstes Programm (S.5) Hallo Welt!? Programm Der Mensch (S.11) Klassen (S.12) Einführung Wie Funktioniert Code? Geschriebener
System.out.println("TEXT");
Inhaltsübersicht - Erstes Beispiel - Datentypen - Ausdrücke und Operatoren - Schleifen / Bedinungen - Struktogramme - Grundgerüst eines Programms in JAVA - Einlesen von Daten Erstes Beispiel public class
Java I Vorlesung Generics und Packages
Java I Vorlesung 9 Generics und Packages 21.6.2004 Generics Packages Qualifizierte Namen Mehr zu Zugriffsklassen Generics (Java 1.5) Die Klassen im Java Collections Framework sind mit dem Typ ihrer Elemente
Python für Linguisten
Python für Linguisten Dozentin: Wiebke Petersen & Co-Dozentin: Esther Seyarth 3. Foliensatz Funktionsdenitionen Petersen & Seyarth Python 1 Wiederholung: Funktionsaufruf Python bringt einige vordenierte
Python 3.6. Erste Schritte auf dem Mac. Syshack. 22. Juni 2017 Version 2.0. Python Erste Schritte auf dem Mac Syshack, 22.
Python 3.6 Erste Schritte auf dem Mac Syshack 22. Juni 2017 Version 2.0 Seite 1 / 12 1 Installation Für die Installation von Python muss man das Installationspaket für Mac OS X von der Python Projekt Webseite
6 Ein- und Ausgabe. Bisher war unsere (Bildschirm-) Ausgabe leichtflüchtig (
6 Ein- und Ausgabe Bisher war unsere (Bildschirm-) Ausgabe leichtflüchtig ( Drucken war hoffnungslos übertrieben); heute lernen wir, wie wir die Ergebnisse unserer Programme abspeichern können, um sie
1 Organisatorisches. 2 Compilezeit- und Laufzeitfehler. 3 Exceptions. 4 Try-Catch-Finally
Themen der Übung CoMa-Übung VI 1 Organisatorisches Compilezeit- und Laufzeitfehler 3 Try-Catch-Finally TU Berlin 8.11.01 Bewertung der OA 5 fehlerhaft, Madeleine arbeitet dran CoMa-Übung VI (TU Berlin)
SQLcl Quo vadis SQL*Plus? Das neue SQL*Plus in der Praxis. Gunther Pippèrr GPI Consult München
Schlüsselworte SQLcl Quo vadis SQL*Plus? Das neue SQL*Plus in der Praxis SQL, SQL*Plus, SQLcl, Scripting Einleitung Gunther Pippèrr GPI Consult München Ist es nun soweit? Gehört nun auch SQL*Plus bald
Python CGI-Skripte erstellen
Python CGI-Skripte erstellen CGI (Common Gateway Interface)... ist eine Schnittstelle, um Scripte im Web bereitzustellen. ist eine Schnittstelle zwischen einem HTTP-Server und ausführbaren Programmen.
Steht in der ersten Zeile #!/usr/bin/python und hat man die Ausführungsrechte gesetzt kann man es direkt ausführen.
Python Unter Windows empfiehlt sich der Download von Python unter folgender URL, http:// www.python.org/download/. Linux Distributionen wie z.b. Ubuntu liefern Python direkt in Ihrer Paketverwaltung mit:
