Stichwortverzeichnis Bernd Klein Einführung in Python 3 In einer Woche programmieren lernen ISBN (Buch): 978-3-446-43547-6 ISBN (E-Book): 978-3-446-43717-3 Weitere Informationen oder Bestellungen unter http://www.hanser-fachbuch.de/978-3-446-43547-6 sowie im Buchhandel. © Carl Hanser Verlag, München Stichwortverzeichnis ∧ bei regulären Ausdrücken 269 . Match eines beliebigen Zeichens 266 $ bei regulären Ausdrücken 269 A abort 226 abspath 240 access 227 __add__ 403 Allgemeine Klasse → Basisklasse Anagramm – als Beispiel einer Permutation 309 Andrew 402 Angestelltenklasse → Personklasse append 75 Archivdatei erzeugen 251 Arrays 328 – flach machen → NumPy – konkatenieren → NumPy – ones() 332 – umdimensionieren → NumPy – zeros() 332 assertAlmostEqual 207 assertCountEqual 207 AssertEqual 206 assertEqual 207 assertFalse 208 assertGreater 208 assertGreaterEqual 208 assertIn 208 AssertionError 205 assertIs 208 assertIsInstance 209 assertIsNone 209 assertIsNot 209 assertItemsEqual 209 assertLess 208 assertLessEqual 208 assertListEqual 209 assertNotRegexpMatches 209 assertTrue 208 assertTupleEqual 209 assoziative Arrays 33 assoziatives Feld 33 atime 243 Attribute 162 – private 162 – protected 162 – public 162 AttributeError 172 Aufspalten von Zeichenketten 132 Auskellern 75 Ausnahme – StopIteration 306 Ausnahmebehandlung 149 – except 149 – finally 153 – try 149 Automatentheorie 261 B Barry 195 basename 241 Bash 212 Basisklasse 169 Bayes-Theorem 367 bedingte Anweisungen 55 Bibliothek 90 Bierdeckelarithmetik 191 Bierdeckelnotation 191 binäre Operatoren 187 Binärsystem 191 Boehm 195 Bourne-Shell 212 Bruch – kürzen 349 – Kürzungszahl 349 418 Stichwortverzeichnis Calendar-Klasse 177 CalendarClock-Klasse 177 Caret-Zeichen 267 Cast 24 Casting 24 CaveInt 403 → Neanderthal-Arithmetik center 144 chdir 227 chmod 227 Chomsky-Grammatik 117 chown 228 chroot 228 clear → Dictionary CLI 212 Clock-Klasse 177 close 218 Closure 318 Codeblock 59 combinatorics.py 359 commonprefix 241 copy 249 → Dictionary copy2 249 copyfile 249 copyfileobj 249 copymode 249 copystat 250 copytree 250 count 78, 139 ctime 243 Decorator → Dekorateur Definition einer Variablen 21 Dekorateur 318 – Beispiel Fakultätsfunktion 320 – Benutzung in Python 319 – zur Implementierung eine Memoisation 320 – zur Überprüfung von Funktionsargumenten 320 deriv 343 derivation 343 Destruktor 160 Dezimalsystem 191 Diamond-Problem 176 Dictionary 33 – aus Listen erzeugen 43 – clear 38 – copy 38 – flache Kopie 38, 101 – fromkeys 38 – get 39 – items 39 – keys 39 – nested Dictionaries 37 – pop 40 – popitem 40 – setdefault 40 – tiefe Kopie 38, 101 – update 41 – verschachtelte Dictionaries 37 dirname 241 doctest 200 Dokumentenklassifikation 365 Donald Michie → Memoisation Drei-Finger-Regel 340 dup 220 dynamische Attribute 168 dynamische Typdeklaration 23 D E Datei 69 – lesen 69 – öffnen 69 – schreiben 71 – zum Schreiben öffnen 71 Dateibaum – rekursiv durchwandern 240 Dateibearbeitung mit os 215 Dateideskriptor 218, 219 Dateigröße 244 Datenkapselung 157 Datentypen 21 Deadly Diamond of Death 176 Eingabeprompt 9 Einheitsmatrix 339 Einkellern 75 Einschubmethode → Hook-Methode endliche Automaten 261, 267 erben → Vererbung errare humanum est 195 erweiterte Zuweisungen 188 Euklidischer Algorithmus 349 except 149 execl 225 execle 226 execlp 225 – Repräsentierung in Python|hyperpage 348 – vollständig gekürzte Form 349 Bruchklasse 347 Bruchrechnen 348 Bulls and Cows 358 bztar-Datei → Archivdatei erzeugen C Stichwortverzeichnis execlpe 226 execv 224 execve 224 execvp 222 execvpe 223 exists 242 expandvars 242 explizite Typumwandlung 24 extend 76 extsep 228 F Fakultätsfunktion 117 – iterative Lösung 119 – rekursive Implementierung 118 – unter Benutzung eines Dekorateurs 320 Fehler – Semantik 196 – Syntax 195 Fehlerarten 195 fib → Fibonacci-Modul fiblist → Fibonacci-Modul Fibonacci 120 Fibonacci-Folge → Fibonacci-Zahlen – rekursive Berechnung 126 Fibonacci-Modul 197 – fib-Funktion 197 – fiblist-Funktion 197 Fibonacci-Zahlen – formale mathematische Definition 120 – Generator 314, 412 – Modul zur Berechnung der Fibonacci-Zahlen 197 – rekursive Berechnung mit Dekorateuren 318 – rekursive Funktion 119 filter 289 finally 153 find 78, 139 Finite State Machine 268 firstn-Generator 312 flache Kopie 38, 101 for-Schleife 62 – optionaler else-Teil 62 – StopIteration 306 – Unterschied zur while-Schleife 63 – Vergleich zu C 62 fork 228, 255 Forking 255 forkpty 228 formale Sprachen 261 fromkeys → Dictionary Frosch – Aufgabe mit Summenbildung 66 – Straßenüberquerung 66 frozensets 49 fully qualified 90 functools 294 Funktion 103 Funktionsabschluss 318 G ganze Zahlen 22 Ganzzahlen 22 Generator – all_colours() 359 – Allgemein 305 – CLU 305 – Endlosschleife in 307 – firstn 312 – Icon 305 – isclice zur Ausgabe von unendlichen Generatoren 312 – k-Permuationen aus Zufallspermutation 359 – k-Permutationen 359 – k_permutations() 359 – pair_sum 315 – pendulum 314 – Permutationen 309, 359 – permutations() 359 – round_robin 314 – send-Methode 312 – Werte empfangen 312 – yield 307 – zur Erzeugung von Selektionen 310 Generator-Ausdrücke 313 Generator-Comprehension 302 Generatoren-Abstraktion 302 get → Dictionary get_archive_formats 251 getatime 243 getcwd 229, 247 getcwdb 229 getegid 229 getenv 213 getenvb 213 geteuid 229 get_exec_path 228 getgid 229 getgroups 229 getloadavg 229 getlogin 230 getmtime 243 getpgid 230 419 420 Stichwortverzeichnis getpgrp 230 getpid 230 getppid 230 getresgid 230 getresuid 230 getsize 244 → os.path getter 166 getuid 230 get_unpack_formats 251 ggT 349 Girokonto 170 Gleichungssysteme 340 grafische Veranschaulichung von Matrixwerten → Hinton-Diagramm größter gemeinsamer Teiler 349 Gruppierungen 274 GUI 212 gztar-Datei → Archivdatei erzeugen H Hash 33 Hinton-Diagramm 323 Hook-Methode 206 Hooks → Hook-Methode isdir 245 isfile 245 isinstance 25 islice 312 – als Ersatz für firstn 312 islink 245 islower 145 ismount 246 isspace 145 istitle 145 isupper 145 itemgetter 84 items → Dictionary __iter__ 306 Iteration – for-Schleife 305 Iteratoren 305 – for-Schleife 305 itertools 312 – islice 312 J join 139, 246 Junit 204 I K if-Anweisung 55 ignore_patterns 251 implizite Typumwandlung 25 import-Anweisung 90 in – Dictionaries 36 index 78, 139 index-Funktionen 220 Inheritance → Vererbung __init__.py 95 inneres Produkt 335 insert 79 Instanz 155 Instanzattribute 168 integ 343 Integer 22 interaktive Shell – Befehlsstack 13 – Starten unter Linux 9 – Starten unter Windows 10 – Unterstrich 12 inverse Matrix 339 isabs 244 isalnum 145 isalpha 145 isdigit 145 kanonischer Pfad 247 Kapselung 157 Keller 75 Kellerspeicher 75, 188 KeyError 35 keys → Dictionary kill 230 killpg 231 Klasse 156 – Erzeugen von Objekten 158 – Kopf 158 – Körper 158 – minimale Klasse in Python 158 Klassenattribute 168 – Zähler zum zählen der Objekte 168 Kombination 310 Kombinatorik-Modul 359 Kompilierung von regulären Ausdrücken 280 Komponententest 197 Konstruktor 160 Kontoklasse 158, 170 – mit Unterklassen 170 Kontrollstrukturen 55 Kopieren – von Unterlisten 100 – von verschachtelten Listen 97 Stichwortverzeichnis Kreuzprodukt 335, 340 Kuchenklasse 155 Kundenklasse → Personklasse Kürzen 349 L lambda 289 Länge eines Vektors 335 Leonardo von Pisa → Fibonacci-Zahlen lexists 246 Liber Abaci 120 Lieferant → Personklasse linalg → NumPy lineare Algebra 340 lineare Gleichungssysteme 340 linesep 231 link 231 Linux 212 – Python unter 9 list – append 75 – extend 76 – find 78 – index 78 – pop 75 – sort 82 List Comprehension 297 – Kreuzprodukt 299 – pythagoreisches Tripel 299 – Sieb des Eratosthenes 300 – Syntax 298 – Vergleich mit konventionellem Code 298 – Wandlung Celsius in Fahrenheit 299 – Weitere Beispiele 299 – zugrundeliegende Idee 299 list:count 78 list:insert 79 list:remove 77 listdir 231 list_iterator 306 Listen-Abstraktion 297 – Kreuzprodukt 299 – pythagoreisches Tripel 299 – Sieb des Eratosthenes 300 – Syntax 298 – Vergleich mit konventionellem Code 298 – Wandlung Celsius in Fahrenheit 299 – Weitere Beispiele 299 – zugrundeliegende Idee 299 ljust 144 Lösung von Gleichungssystemen 340 lower 143 lseek 219 lstat 231 M __main__ 197 major 231 make_archive 251 makedev 232 makedirs 232 map 289, 292 Mapping 33 Marvin 402 Mastermind 357 Match eines beliebigen Zeichens 266 Match-Objekte 274 Matching-Problem 264 – Over Matching 264 – Under Matching 264 MATLAB 323 Matrix-Klasse → NumPy Matrix-Produkt → NumPy Matrizenaddition 333 Matrizenmultiplikation 333, 337 Matrizensubtraktion 333 maxsplit – split 132 Mehrfachvererbung 174 – Beispiel CalendarClock 177 – Tiefensuche 174 Memoisation 123, 317 Memoization → Memoisation Memoize 319 memoize-Funktion 318 Menge 47 Mengen-Abstraktion 301 Mengenlehre 47 Methode 155, 159 – Overloading → Überladen – Overwriting → Überschreiben – Überladen 171 – Überschreiben 171 – Unterschiede zur Funktion 159 minor 231 mkdir 232 mkfifo 233 Modul – dir() 93 – Dokumentation 94 – dynamisch geladene C-Module 91 – eigene Module schreiben 93 – Inhalt 93 – lokal 90 421 422 Stichwortverzeichnis – math 90 – Modularten 91 – Namensraum 90 – re 263 – Suchpfad 92 modulare Programmierung 89 modulares Design 89 Modularisierung 89 Modultest 197 Modultests – unter Benutzung von __name__ 197 Monty Python 34 move 252 mtime 243 __mul__ 403 N Naiver Bayes-Klassifikator 366, 367 __name__ 197 Namensraum – umbenennen 91 Neanderthal-Arithmetik 191 Nested Dictionaries 37 next 306 nice 233 Noam Chomsky 117 normcase 246 normpath 247 Nullstellen berechnen 343 Numarray → NumPy Numeric → NumPy Numeric Python → NumPy NumPy 323 – Array mit Nullen und Einsen initialisieren 332 – Array neue Dimension hinzufügen 332 – Arrays 325 – Arrays flach machen 327 – Arrays konkatenieren 330 – Arrays umdimensionieren 328 – deriv 343 – Drei-Finger-Regel 340 – Einheitsmatrix 339 – eye 339 – Gleichungssysteme 340 – inneres Produkt 335 – integ 343 – inv 339 – inverse Matrix 339 – Kreuzprodukt 335, 340 – Länge eines Vektors 335 – linalg 340 – – – – – – – – – – – – – – – – – – – – – – – – lineare Algebra 340 lineare Gleichungssysteme 340 Lösung von Gleichungssystemen 340 Matrix-Klasse 336 Matrix-Produkt 337 Matrixarithmetik 333 Matrizenaddition 333 Matrizenmultiplikation 333, 337 Matrizensubtraktion 333 Nullstellen 341 Nullstellen berechnen 343 ones() 332 ones_like() 333 polynomial-Paket 341 Punktprodukt 335 Rechtssystem 340 roots 343 Skalarprodukt 335 Vektoraddition 334 Vektorprodukt 340 Vektorsubtraktion 334 Winkel zwischen Vektoren 335 zeros() 332 zeros_like() 333 O Oberklasse 169 object 169 Objekt 155 Objektorientierte Programmiersprache 155 Objektorientierte Programmierung 155 ones_like() 333 OOP 155 – Datenkapselung 157 – Kapselung 157 – Kuchenklasse 155 open 216 open() 69 openpty 219 operator-Modul 84 – itemgetter 84 Operator-Überladung 187 Operatoren überladen – binäre Operatoren 187 – erweiterte Zuweisungen 188 – unäre Operatoren 188 os – abort 226 – access 227 – chdir 227 – chmod 227 – chown 228 Stichwortverzeichnis – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – chroot 228 close 218 dup 220 execl 225 execle 226 execlp 225 execlpe 226 execv 224 execve 224 execvp 222 execvpe 223 extsep 228 fork 228 forkpty 228 getcwd 229 getcwdb 229 getegid 229 getenv 213 getenvb 213 geteuid 229 get_exec_path 228 getgid 229 getgroups 229 getloadavg 229 getlogin 230 getpgid 230 getpgrp 230 getpid 230 getppid 230 getresgid 230 getresuid 230 getuid 230 kill 230 killpg 231 linesep 231 link 231 listdir 231 lseek 219 lstat 231 major 231 makedev 232 makedirs 232 minor 231 mkdir 232 mkfifo 233 nice 233 open 216 openpty 219 popen 233 putenv 214 read 218 readlink 235 – remove 235 – removedirs 235 – rename 236 – renames 236 – rmdir 237 – sep 241 – setegid 237 – seteuid 237 – setgid 237 – setgroups 229 – setpgid 237 – setpgrp 237 – setregid 237 – setresgid 237 – setresuid 237 – setreuid 237 – setsid 237 – setuid 237 – stat 237 – stat_float_times 238 – strerror 238 – supports_bytes_environ 215 – symlink 238 – sysconf 239 – system 239 – times 239 – umask 239 – uname 239 – unlink 239 – unsetenv 215 – urandom 239 – utime 240 – wait 240 – wait3 240 – waitpid 240 – walk 240 – write 215 os-Modul 212, 226 os.path 240 os.python – abspath 240 – basename 241 – commonprefix 241 – dirname 241 – exists 242 – expandvars 242 – getatime 243 – getmtime 243 – getsize 244 – isabs 244 – isdir 245 – isfile 245 423 424 Stichwortverzeichnis – islink 245 – ismount 246 – join 246 – lexists 246 – normcase 246 – normpath 247 – realpath 247 – relpath 247 – samefile 248 – split 248 – splitdrive 248 – splitext 248 Over Matching 264 Overloading → Überladen overloading 172 Overwriting → Überschreiben P Paket 95 Paketkonzept 95 Parameterliste 104 partion 139 Pascalsches Dreieck 124 – Fibonacci-Zahlen 125 peek 75 Permutationen 309 – mit Wiederholungen 309 – ohne Wiederholungen 309 Permutations-Generator 309 Personklasse → Vererbung Pfadname – absolut 244 – relativ 244 Polymorphismus 185 Polynome 341 pop 75, 188 → Dictionary popen 233 popitem → Dictionary Private Attribute – lesender und schreibender Zugriff mittels Methoden 166 Programmiersprache – Unterschied zu Skriptsprache 17 Properties 166 Punktprodukt 335 push 75, 188 putenv 214 Q Quantoren 272 R random-Methode – sample 311 read 218 readlink 235 re-Modul 263 realpath 247 Rechtssystem 340 reduce 294 Regeln zur Interpretation von römischen Zahlen 385 register_archive_format 253 register_unpack_format 253 reguläre Ausdrücke 261 – Alternativen 279 – Anfang eines Strings matchen 269 – beliebiges Zeichen matchen 266 – compile 280 – Ende eines Strings matchen 269 – Kompilierung 280 – optionale Teile 271 – Qunatoren 272 – Teilstringsuche 263 – Überlappungen 263 – vordefinierte Zeichenklassen 268 – Wiederholungen von Teilausdrücken 272 – Zeichenauswahl 266 reguläre Auswahl – Caret-Zeichen, Zeichenklasse 267 reguläre Mengen 261 reguläre Sprachen 261 Rekursion 117 – Beispiel aus der natürlichen Sprache 117 rekursiv → Rekursion rekursive Funktion 117, 118 relpath 247 remove 77, 235 removedirs 235 rename 236 renames 236 replace 142 __repr__ 400 – Unterschied zu __str__ 400 rfind 139 rindex 139 rjust 144 rmdir 237 rmtree 253 Robot-Klasse 400 Roboterklasse 189 römische Zahlen 65 roots 343 Stichwortverzeichnis Rossum, Guido van 289 round_robin 314 rsplit 136 – Folge von Trennzeichen 137 rstrip 143 Rückwärtsreferenzen 274 S samefile 248 sample 311 Schachbrett mit Weizenkörnern 66 Schaltjahre 58 Schleifen 55, 59 – Endekriterium 59 – for-Schleife 62 – Schleifendurchlauf 59 – Schleifenkopf 59 – Schleifenkörper 59 – Schleifenzähler 59 – while-Schleife 60 Schleifenzähler 59 Schlüssel – Dictionary 33 – zulässige Typen 36 Scientific Python → SciPy SciPy 323 Sekunden – Additon zu Uhrzeiten 58 Semantik 196 – Fehler 196 semantische Fehler 196 send-Methode 312 sep 241 set 47 set comprehension 301 setdefault → Dictionary setegid 237 seteuid 237 setgid 237 setgroups 229 setpgid 237 setpgrp 237 setregid 237 setresgid 237 setresuid 237 setreuid 237 sets – copy 50 – difference_update 51 – discard 51 – intersection 52 – isdisjoint 52 – issubset 53 – issuperset 53 – Operationen auf sets 49 – pop 53 – remove 52 setsid 237 setter 166 setuid 237 setUp-Methode 206 Shell 211 – Bash 212 – Bourne 212 – C-Shell 212 – CLI 212 – GUI 212 – Herkunft und Bedeutung des Begriffes 211 Shihram 66 shutil – copy 249 – copy2 249 – copyfile 249 – copyfileobj 249 – copymode 249 – copystat 250 – copytree 250 – get_archive_formats 251 – get_unpack_formats 251 – ignore_patterns 251 – make_archive 251 – move 252 – register_archive_format 253 – register_unpack_format 253 – rmtree 253 – unpack_archive 253 – unregister_archive 254 – unregister_unpack_format 254 shutil-Modul 249 Sieb des Eratosthenes 300 – Rekursive Berechnung 125 – Rekursive Funktion mit Mengen-Abstraktion 301 Simula 67 155 Skalarprodukt 335 Skriptsprache – Unterschied zu Programmiersprache 17 sort 82 – eigene Sortierfunktionen 83 – reverse 83 – Umkehrung der Sortierreihenfolge 83 sorted 82 Sparbuch 170 spezialisierte Klasse → Unterklasse 425 426 Stichwortverzeichnis splice 192 split 132, 248 – Folge von Trennzeichen 137 – maxsplit 132 splitdrive 248 splitext 248 splitlines 138 Sprachfamilie 261 Stack 75 – Stapelspeicher 75 Standardbibliothek 90 Standardklassen als Basisklassen 188 Stapelspeicher 75, 188 stat 237 stat_float_times 238 statische Attribute 168 statische Typdeklaration 23 Stephen Cole Kleene 261 StopIteration 306 __str__ 349, 400 – Unterschied zu __repr__ 400 strerror 238 Strings – Suchen und Ersetzen 142 String-Tests 145 Stringmethoden – Alles in Großbuchstaben 143 – Alles in Kleinbuchstaben 143 – capitalize 143 – center 144 – count 139 – find 139 – index 139 – isalnum 145 – isalpha 145 – isdigit 145 – islower 145 – isspace 145 – istitle 145 – isupper 145 – ljust 144 – lower 143 – replace 142 – rfind 139 – rindex 139 – rjust 144 – rstrip 143 – String-Tests 145 – strip 143 – title 143 – upper 143 – zfill 144 strip 143 Strukturierungselement 103 __sub__ 403 Subklasse → Unterklasse Suchen und Ersetzen 142 Suchen von Teilstrings 139 Suchstrategie bei Mehrfachvererbung 174 Summe von n Zahlen 60 – Berechnung mit while-Schleife 60 SUnit 204 supports_bytes_environ 215 symlink 238, 245 syntaktische Fehler 195 Syntax 195 – Fehler 195 Syntaxfehler 195 sysconf 239 system 239 Systemprogrammierung 211 T tar-Datei → Archivdatei erzeugen TDD → test-driven development tearDown-Methode 206 Tests 195 test first development 204 test-driven development 204 TestCase 206 – Methoden 206 – setUp-Methode 206 – tearDown-Methode 206 testCase 204 Testgesteuerte Entwicklung 204 Testgetriebene Entwicklung 202, 204 Testmethoden 206 Textklassifikation 365 Textverarbeitung 131 Theoretische Informatik 261 tiefe Kopie 38, 101 Tiefensuche 174 times 239 __truediv__ 403 try 149 Tupel – leere 80 – mit einem Element 80 – Packing 80 – Unpacking 80 type 25 type conversion 24 TypeError 199 – unhashable type 37 Stichwortverzeichnis Typumwandlung 24 – explizit 24 – implizit 25 U Überladen 171 – von Methoden 185 Überlappungen 263 Überschreiben 171 umask 239 Umgebungsvariablen 213 uname 239 unäre Operatoren 188 Unärsystem 191 Unary System → Unärsystem Under Matching 264 unhashable type 37 unittest 204 → Modultest Unix 212 unlink 239 unpack_archive 253 unregister_archive_format 254 unregister_unpack_format 254 unsetenv 215 Unterklasse 156, 169 Unterstrich – Bedeutung in der interaktiven Shell 12 update → Dictionary upper 143 urandom 239 utime 240 V Variablen 21 Variation 310 Vektoraddition 334 Vektorprodukt 340 Vektorsubtraktion 334 Vererbung 158, 169 – Beispiel Angestelltenklasse, die von Person erbt 169 – Beispiel Kundenklasse, die von Person erbt 169 – Beispiel Lieferantenklasse, die von Person erbt 169 – Beispiel Personenklasse 169 Vererbungsbaum 174 verschachtelte Dictionaries 37 Verzeichnis löschen 237 Verzweigungen 55 Vollstandige Rekursion 117 W wait 240 wait3 240 waitpid 240 walk 240 Weizenkornaufgabe 66 while-Schleife 60 – optionaler else-Teil 61 Winkel zwischen Vektoren 335 write 215 Y yield 307 – im Vergleich zur return-Anweisung 307 Z Zahlenratespiel 61 Zeichenauswahl 266 Zeitrechnung 58 zeros_like() 333 zfill 144 zip-Datei → Archivdatei erzeugen Zufallspermutation 359 Zustandsautomat 268 Zustandsmaschine 268 Zuweisung 21 427