Debugging mit Python
|
|
|
- Adrian Simen
- vor 9 Jahren
- Abrufe
Transkript
1 Debugging mit Python PyCon DE 2012 Stefan Schwarzer, SSchwarzer.com Leipzig, Deutschland,
2 Debugging mit Python Stefan Schwarzer, 2 / 23 Überblick Print-Anweisungen und Logging Debugger-Konzepte Umsetzung mit pdb Weitere Python-Debugger Zusammenfassung
3 Debugging mit Python Stefan Schwarzer, 3 / 23 Print-Anweisungen Oft ausreichend Einfach einsetzbar Vorteile gegenüber Debugger: kann einfacher bei Code mit Timeouts eingesetzt werden praktisch, um zu zeigen, bei welchen Werten (zum Beispiel in einer Schleife) ein Problem auftritt
4 Debugging mit Python Stefan Schwarzer, 4 / 23 Print-Anweisungen Wie man es eher nicht machen sollte print "====================" print self.employer.name()... print "********************" print self.employee.name() print self.employee.address() Man kann leicht vergessen, welche Markierung zu welchem Wert gehört. Entfernung von Debugging-Ausgaben ist fehleranfällig, sobald einer Markierung mehr als eine Ausgabe folgt. Man kann allzu leicht etwas entfernen, was nicht für das Debugging gedacht war.
5 Debugging mit Python Stefan Schwarzer, 5 / 23 Print-Anweisungen Empfehlung print "=== employer name:", self.employer.name()... print "=== employee name:", self.employee.name() print "=== employee address:", self.employee.address() Man sieht in der Ausgabe, was ausgegeben wird. Debug-Ausgaben sind leicht zu entfernen (im Editor nach === suchen und Zeile löschen). Abtrennung mit Komma vermeidet Tupel-Anomalie: "=== Wert: %s" % value versagt bei Tupel-Werten. Schreibarbeit kann durch Editor-Makro reduziert werden. Beispiel für Vim: inoremap <leader>p print "=== :", <ESC><BS><BS><BS>i \p gibt print "=== :", aus und setzt den Cursor vor den Doppelpunkt.
6 Debugging mit Python Stefan Schwarzer, 6 / 23 Logging import logging logging.basicconfig() log = logging.getlogger("debugging") log.setlevel(logging.debug) log.debug("here s a tuple: %s", (1, 2)) # DEBUG:debugging:Here s a tuple: (1, 2) Aufwändiger einzurichten als Print-Anweisungen. Geschwätzigkeit kann durch Log-Level gesteuert werden. Log-Ausgaben können gegebenenfalls im Code bleiben, wenn Log-Level und/oder Ausgabeziel angepasst werden. Ausgabe sehr flexibel konfigurierbar Threadsichere Ausgabe
7 Debugging mit Python Stefan Schwarzer, 7 / 23 Debugger Konzepte Zwei Modi Normaler Programmablauf Eingabe von Debugging-Kommandos Programmzeiger Dieser markiert die als nächstes auszuführende Anweisung. Ausführung ohne sichtbare Verzweigung in Aufrufe ( next ) mit sichtbarer Verzweigung in Aufrufe ( step ) Unterbrechungspunkte/Breakpoints An diesen Anweisungen hält die Code-Ausführung an und der Debugger-Prompt erscheint.
8 Debugging mit Python Stefan Schwarzer, 8 / 23 Debugger pdb (Python Debugger) In der Standardbibliothek enthalten Nur Kommandozeilen-Modus (ähnlich gdb) Für viele Zwecke ausreichend help liefert eine Befehlsliste, help befehl einen Hilfetext zum Befehl befehl. Lesetipp:
9 Debugging mit Python Stefan Schwarzer, 9 / 23 Debugger pdb Aktivierung Innerhalb des Programmcodes import pdb; pdb.set trace() In der Shell $ python -m pdb programm argumente Danach Breakpoint setzen und fortsetzen (kommt später). Post-mortem (im Vortrag nicht weiter behandelt)
10 Debugging mit Python Stefan Schwarzer, 10 / 23 Code-Beispiel import os if name == " main ": import pdb; pdb.set_trace() items = os.listdir(os.curdir) path = os.path.join(os.getcwd(), items[0]) print path
11 Debugging mit Python Stefan Schwarzer, 11 / 23 Debugger pdb Anzeigen von Code (list) list, l Code um den Programmzeiger herum auflisten; nach einem vorherigen list-befehl das Listing fortsetzen list zeile Code um die genannte Programmzeile listen list anfangszeile endzeile Zeilenbereich listen
12 Debugging mit Python Stefan Schwarzer, 12 / 23 Debugger pdb Anzeigen von Code $ python debug_example.py > /home/someone/pycon_de/debug_example.py(5)<module>() -> items = os.listdir(os.curdir) (Pdb) l 1 import os 2 3 if name == " main ": 4 import pdb; pdb.set_trace() 5 -> items = os.listdir(os.curdir) 6 path = os.path.join(os.getcwd(), items[0]) 7 print path [EOF]
13 Debugging mit Python Stefan Schwarzer, 13 / 23 Debugger pdb Ausführen von Anweisungen next, n Anweisung einschließlich enthaltener Aufrufe ohne zwischenzeitliche Debugger-Kontrolle ausführen step, s Anweisung ausführen, dabei auch enthaltene Aufrufe unter Debugger-Kontrolle ausführen. In C-Funktionen wie os.getcwd() im Beispiel kann mit s nicht hineingesprungen werden.
14 Debugging mit Python Stefan Schwarzer, 14 / 23 Debugger pdb Ausführen von Anweisungen Nach dem ersten l von oben: (Pdb) n > /home/someone/pycon_de/debug_example.py(6)<module>() -> path = os.path.join(os.getcwd(), items[0]) (Pdb) l 1 import os 2 3 if name == " main ": 4 import pdb; pdb.set_trace() 5 items = os.listdir(os.curdir) 6 -> path = os.path.join(os.getcwd(), items[0]) 7 print path [EOF]
15 Debugging mit Python Stefan Schwarzer, 15 / 23 Debugger pdb Ausführen von Anweisungen (Pdb) s --Call-- > /usr/lib/python2.7/posixpath.py(60)join() -> def join(a, *p): (Pdb) l # Join pathnames. 57 # Ignore the previous parts if a part is absolute. 58 # Insert a / unless the first part is empty or already > def join(a, *p): 61 "Join two or more pathname components, inserting / 62 If any component is an absolute path, all previous p 63 will be discarded." 64 path = a 65 for b in p:
16 Debugging mit Python Stefan Schwarzer, 16 / 23 Debugger pdb Werte anzeigen p ausdruck Ausdruck evaluiert anzeigen pp ausdruck Dito, aber übersichtlicher formatiert (wie von pprint.pprint) args Aktuelle Werte der Argumente der Funktion/Methode anzeigen
17 Debugging mit Python Stefan Schwarzer, 17 / 23 Debugger pdb Aus Funktion zurückkehren return, r So lange nicht-interaktiv Code ausführen, bis die aktuelle Funktion/Methode verlassen wird und dann wieder in den interaktiven Modus schalten.
18 Debugging mit Python Stefan Schwarzer, 18 / 23 Debugger pdb Unterbrechungspunkte/Breakpoints Markierung, an der der Code zur Inspektion im Debugger angehalten werden kann Ob das tatsächlich passiert, kann an eine Bedingung geknüpft werden. Ein Breakpoint kann aus- und eingeschaltet werden. Dabei bleiben die Eigenschaften (Position, Bedingungen) erhalten. Es lassen sich beliebig viele Unterbrechungspunkte definieren.
19 Debugging mit Python Stefan Schwarzer, 19 / 23 Debugger pdb Unterbrechungspunkte/Breakpoints break, b Alle Breakpoints auflisten break dateipfad :zeilennummer, bedingung Breakpoint setzen, an dem nur unter der Bedingung bedingung angehalten wird. Die Bedingung wird nicht in Anführungszeichen eingeschlossen. Die Pfadangabe ist relativ zu sys.path. Obwohl der Dateipfad wie eine Modul-Angabe wirkt, darf kein Punkt als Trennzeichen verwendet werden. Stattdessen muss es ein Pfadtrenner sein, zum Beispiel break paket/modul.py:23 Dateipfad und Bedingung sind optional.
20 Debugging mit Python Stefan Schwarzer, 20 / 23 Debugger pdb Unterbrechungspunkte/Breakpoints condition breakpointnr bedingung Setze oder ändere die Bedingung des Breakpoints mit der Nummer breakpointnr. continue, cont, c Setze den Programmablauf fort. Dabei wird der interaktive Debugger-Modus bis zum nächsten aktiven Breakpoint oder bis zum Programmende verlassen.
21 Debugging mit Python Stefan Schwarzer, 21 / 23 Alternative Debugger für Python Liste (Suche im Python Package Index) Textmodus pudb (nur Posix, einschließlich Cygwin) pdb++ ipdb GUI IDLE Einfache IDE; gehört zur Standardbibliothek, muss aber unter Unix/Linux eventuell zusätzlich installiert werden WinPdb nicht nur für Windows! Debugger in diversen Python-IDEs
22 Debugging mit Python Stefan Schwarzer, 22 / 23 Zusammenfassung Print-Anweisungen können hilfreich sein. Man muss nicht unbedingt gleich zum Debugger greifen. Das logging-modul ist flexibler als print, aber für einfache Aufgaben etwas umständlicher. Debugging-Konzepte: Programmzeiger; Ausführung ohne/mit Unterprogrammaufrufen; Unterbrechungspunkte Code kann mit l gelistet und mit n, s und r abgearbeitet werden. p, pp und args zeigen Objekte an. Unterbrechungspunkte lassen sich mit b setzen; nach deren Auslösung führt c den Code weiter aus. Es gibt diverse weitere Textmodus- und GUI-Debugger für Python. Die meisten davon finden sich im Python Package Index (PyPI).
23 Debugging mit Python Stefan Schwarzer, 23 / 23 Danke für die Aufmerksamkeit! :-) Fragen? Anmerkungen? Diskussion? [email protected]
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
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]
Programmierkurs Python I
Programmierkurs Python I Michaela Regneri & Stefan Thater Universität des Saarlandes FR 4.7 Allgemeine Linguistik (Computerlinguistik) Winter 2010/11 Übersicht Kurze Wiederholung: while Sammeltypen (kurz
Quick-Start Informatik Programmieren in Python Teil 2
Quick-Start Informatik 2011 Programmieren in Python Teil 2 Organisatorisches Self-Assessment-Bögen Aufgabenblätter! Rückblick 1. Programmieren: Wie geht das? (IDLE, REPL,.py-Dateien) 2. Daten und Datentypen
Automatisiertes Testen mit dem Doctest-Modul
Automatisiertes Testen mit dem Doctest-Modul Chemnitzer Linuxtage 2009 Stefan Schwarzer, SSchwarzer.com [email protected] Chemnitz, Germany, 2009-03-15 Automatisiertes Testen mit dem Doctest-Modul Stefan
C/C++ Debugging mit CDT unter Eclipse
C/C++ Debugging mit CDT unter Eclipse Bevor Sie mit dem Debuggen beginnen können, müssen Sie eine compilierbare Applikation erstellen, also eine Applikation, die keine Syntaxfehler mehr enthält. Sie können
Programmieren in Haskell Debugging
Programmieren in Haskell Debugging Peter Steffen Universität Bielefeld Technische Fakultät 30.01.2009 1 Programmieren in Haskell Debugger Definition laut Wikipedia: Ein Debugger (von engl. bug im Sinne
Übungszettel 2a - Python
Vorsemesterkurs Informatik Übungsaufgaben Übungszettel 2a - Python Aufgabe 1: Python starten Teilaufgaben (a)-(c) beziehen sich auf das Arbeiten unter den Systemen, die auf den RBI-Rechnern installiert
Zahlen raten. Al Sweigart, Eigene Spiele programmieren Python lernen, dpunkt.verlag, ISBN D3kjd3Di38lk323nnm
D3kjd3Di38lk323nnm 33 3 Zahlen raten In diesem Kapitel schreiben Sie ein Zahlenratespiel (»Guess The Number«). Der Computer denkt sich eine Geheimzahl von 1 bis 20 aus und bittet den Benutzer, sie zu erraten.
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.
Algorithmen und Datenstrukturen
Algorithmen und Datenstrukturen A2. Eine sehr kurze Einführung in Python Marcel Lüthi and Gabriele Röger Universität Basel 28. Februar 2018 Python Python interpretierte High-Level-Programmiersprache unterstützt
WS2017/ Oktober 2017
Einführung in die Programmierung Ronja Düffel WS2017/18 09. Oktober 2017 Rückblick Datentypen bool Zahlen (int und float) string Variablen Kontrollstrukturen Verzweigungen (if...: und if...else:) Schleifen
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
PYTHON. 04 Funktionen II, Module
PYTHON 04 Funktionen II, Module Funktionen Funktionen enthalten Programm-Teile können später im Programm aufgerufen werden können beliebig oft aufgerufen werden (und man muss nur die Funktion aufrufen,
PYTHON. 03 for-schleifen, Funktionen
PYTHON 03 for-schleifen, Funktionen for-schleife kann verwendet werden, um eine bestimmte Anzahl an Wiederholungen durchzuführen kann verwendet werden, um ein bestimmtes Objekt (z.b. eine Liste) zu durchlaufen
Vorlesung Skriptsprachen Duale Hochschule Stuttgart Sommersemester Dipl.-Ing. (FH) Volker Schepper
Vorlesung Skriptsprachen Duale Hochschule Stuttgart Sommersemester 2017 Dipl.-Ing. (FH) Volker Schepper 1 Kommentar Kommentare sollen/müssen unbedingt verwendet werden. Sinnvolle Kommentare verwenden.
WS2018/ Oktober 2018
Einführung in die Programmierung Ronja Düffel WS2018/19 02. Oktober 2018 RBI-Account Account für das Rechnernetz der Informatik RBI-Account HRZ-Account zum Arbeiten an und auf den Rechnern des Instituts
A2.1 Python. Algorithmen und Datenstrukturen. Algorithmen und Datenstrukturen. A2.1 Python. A2.2 Kurzer Sprachüberblick. A2.3 Selectionsort in Python
Algorithmen und Datenstrukturen 28. Februar 2018 A2. Eine sehr kurze Einführung in Python Algorithmen und Datenstrukturen A2. Eine sehr kurze Einführung in Python A2.1 Python Marcel Lüthi and Gabriele
Visual Basic Editor CATIA V5
Visual Basic Editor CATIA V5 Daniel Frauenrath Allgemein Der Visual Basic Editor ist fester Bestandteil von CATIA V5. Im Gegensatz zum internen Editor für CATScript und CATVbs hat der Visual Basic Editor
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
2017/01/23 15:50 1/5 Bedienung
2017/01/23 15:50 1/5 Bedienung Bedienung (J.Müller, Hilfe zu JTCEMU) Das originale 2K-System Das 2 KByte große Betriebssystem bietet die wichtigsten Funktionen zur Eingabe und Verwaltung von BASIC-Programmen.
1. Python Interpreter installieren (WinPython)
1 Excel - User Defined Functions mit Python Um Python als Programmiersprache für Excel UDFs verwenden zu können muss ein Python Interpreter(z.B. WinPython) und xlwings installiert werden: Inhalt 1. Python
Kurze Bedienungsanleitung für den Java-Editor
Editor-Versionen: 13.36 (pr), 12.61 (Stick) Einstellungen Definition des Quelltext-Kopfes Editor: Kommentar Sprungweite des Tabulators im Quelltext Editor: Optionen Hilfen für geschweifte Klammern einstellen
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
Grundlagen von C# - 2
Grundlagen von C# - 2 Marc Satkowski 20. November 2016 C# Kurs Gliederung 1. Arrays 2. Kontrollstrukturen 3. Verzweigungen Bedingte Verzweigung (if else) 4. Schleifen Kopfgesteuerte Schleife (while) Fußgesteuerte
Inhalt. Vorwort zur dritten Auflage 15
Vorwort zur dritten Auflage 15 f... Architektur des SAP-Systems im Überblick 25 Technische Architektur 25 Betriebswirtschaftlich-organisatorische Architektur 27 Plattformunabhängigkeit 30 Anwendungsprogramme
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........................................................
Debugging mit ddd (Data Display Debugger)
Debugging mit ddd (Data Display Debugger) 1 Testprogramm installieren und ausführen Laden Sie sich das Fortran Programm sample.f90 und das Makefile herunter und speichern Sie sie in einem Verzeichnis.
WS2018/ Oktober 2018
Einführung in die Programmierung Ronja Düffel WS2018/19 05. Oktober 2018 Rückblick Datentypen bool Zahlen (int und float) string Variablen Kontrollstrukturen Verzweigungen (if...: und if...else:) Schleifen
Algorithmik und Programmieren
Institut für Informatik Forschungsgruppe Datenbanken und Informationssysteme (DBIS) Universität Innsbruck Algorithmik und Programmieren Martin Pichl Datenbanken und Informationssysteme (DBIS) dbis.uibk.ac.at
Objektorientierte Programmierung und Modellierung
Objektorientierte Programmierung und Modellierung Einführung, Teil 2 24.10.17 - WS17/18 Hakan Aksu 1 Raumänderung beachten Dienstag 14:15-15:45 Uhr in M001 (anstatt K101) 2 Ausfalltermine 31.10 Vorlesung
C# - Einführung in die Programmiersprache Fehler abfangen. Leibniz Universität IT Services Anja Aue
C# - Einführung in die Programmiersprache Fehler abfangen Leibniz Universität IT Services Anja Aue Fehler in einem Programm Warnungen sind Hinweise auf eventuelle Fehler während der Laufzeit des Programms.
Debugging mit GDB Albrecht Oster Proseminar C - Grundlagen und Konzepte
Debugging mit GDB Albrecht Oster Proseminar C - Grundlagen und Konzepte Inhaltsverzeichnis 1 Was ist Debugging? 2 1.1 Fallbeispiel 3 1.2 Mögliche Vorgehensweise zur Ursachenfindung 4 2 Was ist GDB? 5 2.1
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
Zugang zu LISP. Franz Inc. Allegro Lisp Version 7.0 ist im Linux Pool installiert.
Zugang zu LISP Franz Inc. Allegro Lisp Version 7.0 ist im Linux Pool installiert. 1. Möglichkeit: Benutzung in der Shell: 1) Aufruf mit älisp xy@wsl05:~$ alisp International Allegro CL Enterprise Edition
Informatik I: Einführung in die Programmierung
Informatik I: Einführung in die Programmierung 6. Python-, kommentieren, und Albert-Ludwigs-Universität Freiburg Bernhard Nebel 28. Oktober 2016 1 28. Oktober 2016 B. Nebel Info I 3 / 30 = konkretisierte
Anweisungen in Python
Sommersemester 2007 1 if 2 elif 3 while 4 for 5 Schleifenabbruch Blockbildung Blockbildung durch Einrücken Keine Klammerung Empfehlungen Leerzeichen verwenden 4 Leerzeichen einrücken Unterstützenden Editor
WS2017/ Oktober 2017
Ronja Düffel WS2017/18 05. Oktober 2017 mit Python Programmieren (vereinfacht) 1 Problem beschreiben und analysieren 2 Enwicklung und Beschreibung einer Lösung 3 Übertragung/Umsetzung in eine Programmiersprache
C++ Teil 2. Sven Groß. 16. Apr IGPM, RWTH Aachen. Sven Groß (IGPM, RWTH Aachen) C++ Teil Apr / 22
C++ Teil 2 Sven Groß IGPM, RWTH Aachen 16. Apr 2015 Sven Groß (IGPM, RWTH Aachen) C++ Teil 2 16. Apr 2015 1 / 22 Themen der letzten Vorlesung Hallo Welt Elementare Datentypen Ein-/Ausgabe Operatoren Sven
Crashkurs Python und Sage U23 Krypto-Mission
Crashkurs Python und Sage -Mission florob Simon e.v. http://koeln.ccc.de 4. Oktober 2015 Anfang Übersicht Sage Computer-Algebra-System, wie MatLab oder Mathematica sagemath.org Python interpretierte Programmiersprache
... Trigger - Fehlersuche (Debugging)
14... Trigger - Fehlersuche (Debugging) Kapitel 14: Trigger - Fehlersuche (Debugging) Ziele Am Ende dieser Unterrichtseinheit verfügen Sie über folgende Kenntnisse: Die Debugger-Komponenten Form-Modul
Unix-Grundkurs 1. Thema heute: Shell-Skripten
Unix-Grundkurs 1 Thema heute: Unix-Grundkurs 2 Ein Shell-Skript ist die Zusammenfassung von Kommandos in einer Textdatei. Diese Textdatei wird wie ein ablaufbares Programm behandelt. Es werden von einer
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
2 Programmieren in Java I noch ohne Nachbearbeitung
1 2 Programmieren in Java I noch ohne Nachbearbeitung 2.1 Was sind Programme? Eingabe = Verarbeitung = Ausgabe Die Eingabe kann sein Konstanten im Quelltext; Kommandozeilenparameter oder interaktive Eingabe
Linux II. Reguläre Ausdrücke Editoren Scripting. 2 Linux II. Linux I II III Res WN/TT NLTK XML Weka E Reguläre Ausdrücke Editoren Scripting
Linux II 2 Linux II Reguläre Ausdrücke Editoren Scripting Reguläre Ausdrücke Reguläre Ausdrücke beschreiben eine Menge von Zeichenfolgen und werden benutzt um m festzustellen, ob eine Zeichenkette Teil
Funktionen. Überblick über Stored Functions. Syntax zum Schreiben einer Funktion. Schreiben einer Funktion
Überblick über Stored Functions Funktionen Eine Funktion ist ein benannter PL/SQL- Block, der einen Wert zurückgibt. Eine Funktion kann in der Datenbank als Objekt zur wiederholbaren Ausführung gespeichert
http://www.stud.uni-potsdam.de/~hoeffi/gdb.html#wozu
gdb: debugging code In der Vorlesung hatte ich Teile von http://www.stud.uni-potsdam.de/~hoeffi/gdb.html#wozu und ein eigenes Beispiel diskutiert. Ein Debugger soll helfen Fehler im Programm, die sich
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/
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.
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
Javakurs für Anfänger
Javakurs für Anfänger Einheit 06: Einführung in Kontrollstrukturen Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme Heutige Agenda 1. Teil: Einführung in Kontrollstrukturen 3 Grundstrukturen von
Programmieren mit Python
Programmieren mit Python Programmieren heisst: Dem Computer sagen, was er tun soll. Die Befehle muss man übrigens in einer Sprache geben, die der Computer versteht. Darum sind verschiedene Programmiersprachen
Programmieren in Python
10. Iteratoren und Generatoren Albert-Ludwigs-Universität Freiburg Handlungsplanungs-Praktikum Wintersemester 2010/2011 Iteratoren und Generatoren Überblick über diese Lektion: Iteratoren Generatoren Generator
Java Übung. Übung Mai Universität Duisburg-Essen Kommedia, Übung EinPro SS06, Einführung in Java - Übung. Werner Gaulke.
Java Übung Übung 5 Universität Duisburg-Essen Kommedia, Übung EinPro SS06, 9. Mai 2006 (UniDUE) 9. Mai 2006 1 / 20 Beispiel Anforderungen: Klasse Mensch mit Attributen: Name, Alter, Laune, Geschlecht.
Schachtelung der 2. Variante (Bedingungs-Kaskade): if (B1) A1 else if (B2) A2 else if (B3) A3 else if (B4) A4 else A
2.4.6. Kontrollstrukturen if-anweisung: Bedingte Ausführung (Verzweigung) 2 Varianten: if (Bedingung) Anweisung (Anweisung = einzelne Anweisung oder Block) Bedeutung: die Anweisung wird nur ausgeführt,
Python Intro. Vorsemesterkurs Informatik Praktischer Teil WS2012/13. 2.Oktober Vorkurs Informatik - WS 2012/13
Python Intro Vorsemesterkurs Informatik Praktischer Teil WS2012/13 2.Oktober 2012 Let's get started } Skript, Übungen, Folien... Alles zum Praxisteil auf http://vorkurs.cs.unifrankfurt.de Bücher: Fragen!
C++ - Einführung in die Programmiersprache Fehler abfangen. Leibniz Universität IT Services Anja Aue
C++ - Einführung in die Programmiersprache Fehler abfangen Leibniz Universität IT Services Anja Aue Warnungen Hinweise auf riskanten Code. Eine Kompilierung wird nicht verhindert. Um größere Fehler zu
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
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
Inhaltsverzeichnis Einleitung xi Kapitel 1: Die Vorbereitung aufs Abenteuer
Inhaltsverzeichnis Einleitung Warum man programmieren können sollte.... xi Warum Python?.... xii Und warum Minecraft?... xii Was du in diesem Buch findest... xiii Online-Ressourcen....xv Möge das Abenteuer
2.1 Visual C Express installieren Visual C Express starten Visual C Express registrieren...
Datei: 5220_A02Inhalt.doc, Seite3 15. September 2010 Teil I Erste Schritte 1 Einleitung.... 9 1.1 Was Sie erwartet und was Sie nicht erwartet.... 9 1.2 Wie die Kapitel aufgebaut sind.... 10 1.3 Beispieldateien....
III.1 Prinzipien der funktionalen Programmierung - 1 -
1. Prinzipien der funktionalen Programmierung 2. Deklarationen 3. Ausdrücke 4. Muster (Patterns) 5. Typen und Datenstrukturen 6. Funktionale Programmiertechniken III.1 Prinzipien der funktionalen Programmierung
Brückenkurs Programmieren
Brückenkurs Programmieren Tag 2: Schleifen und Funktionen Christopher Schölzel Technische Hochschule Mittelhessen 27. März 2018 Inhalt Schleifen Einleitung While For Funktionen 2 / 23 Inhalt Schleifen
C# - Einführung in die Programmiersprache Methoden. Leibniz Universität IT Services
C# - Einführung in die Programmiersprache Methoden Leibniz Universität IT Services 02.07.12 Methoden... sind Subroutinen in einer Klasse. können einen Wert an den Aufrufer zurückgeben. verändern die Eigenschaften
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:
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
Prof. Dr. Stefan Funken, Dipl.-Ing. Christoph Erath 15. Mai WiMa-Praktikum (Matlab 2/9) Einführung in LATEXund Matlab
Prof. Dr. Stefan Funken, Dipl.-Ing. Christoph Erath 15. Mai 2009 WiMa-Praktikum (Matlab 2/9) Einführung in LATEXund Matlab Page 2 WiMa-Praktikum (Matlab 2/9) 15. Mai 2009 Funken / Erath Matlab 2/9 m-files
Erste Java-Programme (Scopes und Rekursion)
Lehrstuhl Bioinformatik Konstantin Pelz Erste Java-Programme (Scopes und Rekursion) Tutorium Bioinformatik (WS 18/19) Konstantin: [email protected] Homepage: https://bioinformatik-muenchen.com/studium/propaedeutikumprogrammierung-in-der-bioinformatik/
Objektsammlungen. Programmieren 2. Konzepte (Wiederholung vom Dienstag)
Vgl. Kapitel 4 im BlueJ-Buch. Bis Kapitel 6 bleiben wir weiter dicht am BlueJ-Buch, das somit die eigentliche Referenz bildet. Objektsammlungen Andreas Zeller 1 Programmieren 2 Andreas Zeller 2 Konzepte
Einstieg in die Informatik mit Java
1 / 41 Einstieg in die Informatik mit Java Weitere Anweisungen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 41 1 Überblick 2 Verbundanweisung 3 Bedingte Anweisung 4 Auswahlanweisung
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
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
Inhaltsverzeichnis. Warren D. Sande, Carter Sande. Hello World! Programmieren für Kids und andere Anfänger. Übersetzt von Dorothea Heymann-Reder
sverzeichnis Warren D. Sande, Carter Sande Hello World! Programmieren für Kids und andere Anfänger Übersetzt von Dorothea Heymann-Reder ISBN: 978-3-446-42144-8 Weitere Informationen oder Bestellungen unter
Programmieren in Python
10. Iteratoren und Generatoren Albert-Ludwigs-Universität Freiburg KI-Praktikum, Sommersemester 2009 Iteratoren und Generatoren Überblick über diese Lektion: Iteratoren Generatoren Generator Comprehensions
Gültigkeitsbereich. T. Neckel Einführung in die wissenschaftliche Programmierung IN8008 Wintersemester 2016/
Gültigkeitsbereich Funktionen Erinnerung: Python ist eine interpretierte Sprache! Funktionen müssen definiert sein, bevor sie aufgerufen werden können. T. Neckel Einführung in die wissenschaftliche Programmierung
Python Intro I. Vorsemesterkurs Informatik Praktischer Teil WS 2013/14. 1.Oktober Vorkurs Informatik - WS 2013/14
Python Intro I Vorsemesterkurs Informatik Praktischer Teil WS 2013/14 1.Oktober 2013 Let's get started } Skript, Übungen, Folien... Alles zum Praxisteil auf http://vorkurs.cs.unifrankfurt.de Bücher: Fragen!
Funktionales C++ zum Ersten
Funktionales C++ zum Ersten WiMa-Praktikum 1, Teil C++, Tag 1 Christoph Ott, Büro: Helmholtzstr.18, E22 Tel.: 50-23575, Mail: [email protected] Institut für Angewandte Informationsverarbeitung 26.08.08
