15
Auf einen Blick 1 Einführung ............................................................................ 13 2 Erste Sch ritte ........................................................................ 17 3 Programmierkurs ................................................................... 31 4 Datentypen ........................................................................... 77 5 Weiterführende Programmierung .......................................... 131 6 Objektorientierte Programmierung ........................................ 179 7 Neues in Python 3 ................................................................ 19 5 8 Verschiedene Module ........................................................... 199 9 Dateien................................................................................. 225 10 Internet ................................................................................ 25 7 11 Datenbanken ........................................................................ 291 12 Benutzeroberflächen 30 9 13 Lösungen .............................................................................. 37 9 3

Seiten Aus Einstieg in Python 3

  • Upload
    woddibz

  • View
    63

  • Download
    0

Embed Size (px)

Citation preview

5/17/2018 Seiten Aus Einstieg in Python 3 - slidepdf.com

http://slidepdf.com/reader/full/seiten-aus-einstieg-in-python-3 1/15

 

Auf einen Blick

1 Einführung .................... ................... .................... ................. 13

2 Erste Sch ritte ........................................................................ 17

3 Programmierkurs .................... ...................... ..................... .... 31

4 Datentypen ................... .................. ................... .................. . 77

5 Weiterführende Programmierung .......................... ................ 131

6 Objektorientierte Programmierung ........................................ 179

7 Neues in Python 3 .................. ..................... ..................... .... 195

8 Verschiedene Module ........................................................... 199

9 Dateien................................................................................. 225

10 Internet ................................................................................ 257

11 Datenbanken ................... .................... ..................... ............ 291

12 Benutzeroberflächen 309

13 Lösungen .............................................................................. 379

3

5/17/2018 Seiten Aus Einstieg in Python 3 - slidepdf.com

http://slidepdf.com/reader/full/seiten-aus-einstieg-in-python-3 2/15

 

Inhalt

1 Einführung ..................................... ....................................... .... 13

1.1 Vorteile von Python ..................................................................... 131.2 Verbrei tung von Python ............................................................... 14

1.3 Aufbau des Buchs ........................................................................ 14

1.4 Übungen ..................................................................................... 15

1.5 Installation von Python ................................................................ 16

2 Erste Schritte .......................................... ................................. 172.1 Python als Taschenrechner ........................................................... 17

2.1.1 Eingabe von Berechnungen ....... ........ ....... ....... ....... ....... .. 17

2.1.2 Addition, Subtraktion und Multiplikation ........................ 18

2.1.3 Division, Ganzzahldivision und Modulo ........................... 18

2.1.4 Rangfolge und Klammern ....... ....... ...... ....... ....... ....... ....... 19

2.1.5 Variablen und Zuweisung ................................................ 20

2.2 Erstes Programm .......................................................................... 21

2.2.1 Hallo Welt ...................................................................... 21

2.2.2 Eingabe eines Programms ....... ....... ....... ........ ....... ....... ..... 22

2.3 Speichern und Ausführen ....... ...... ....... ....... ...... ....... ...... ....... ....... . 22

2.3.1 Speichern ........................................................................ 22

2.3.2 Ausführen unter Windows .............................................. 23

2.3.3 Ausführen unter Linux ..................................................... 27

2.3.4 Kommentare................................................................... 27

2.3.5 Verkettung von Ausgaben ............................................... 28

2.3.6 Lange Ausgaben .............................................................. 28

3 Programmierkurs .......................................... ............................ 31

3.1 Ein Spiel programmieren .............................................................. 31

3.1.1 Das fertige Spiel .............................................................. 31

3.1.2 Der Weg zum fertigen Spiel............................................. 31

3.1.3 Mögliche Erweiterungen ................................................. 32

3.2 Variablen und Operatoren ........................................................... 32

3.2.1 Berechnung und Zuweisung ....... ....... ........ ....... ........ ....... 32

3.2.2 Eingabe einer Zeichen kette ........ ........ ........ ........ ........ ..... 33

3.2.3 Eingabe einer Zahl.............. ................... ................... ....... 33

3.2.4 Spiel, Version mit Eingabe ....... ........ ....... ....... ....... ....... .... 35

3.2.5 Zufallszahlen ................................................................... 36

5

5/17/2018 Seiten Aus Einstieg in Python 3 - slidepdf.com

http://slidepdf.com/reader/full/seiten-aus-einstieg-in-python-3 3/15

 

Inhalt

3.3 Verzweigungen ............................................................................ 37

3.3.1 Vergleichsoperatoren ...................................................... 38

3.3.2 Einfache Verzweigung ....... ........ ....... ....... ....... ....... ....... ... 38

3.3.3 Spiel, Version mit Bewertung der Eingabe ......... .......... .... 39

3.3.4 Mehrfache Verzweigung .................................................. 40

3.3.5 Logische Operatoren ....... ....... ....... ....... ....... ....... ....... ...... 42

3.3.6 Mehrere Vergleichsoperatoren ........................................ 44

3.3.7 Spiel, Version mit genauer Bewertung der Eingabe .......... 45

3.3.8 Rangfolge der Operatoren ................ ......... ..... ................ . 46

3.4 Schleifen...................................................................................... 47

3.4.1 for-Schleife ..................................................................... 47

3.4.2 Schleifenabbruch mit break ............................................. 48

3.4.3 Geschachtelte I<ontrollstrukturen ........ ........ ........ ........ .... 48

3.4.4 Spiel, Version mit for-Schleife und Abbruch ...... ............. . 50

3.4.5 for-Schleife mit rangeO .................................................... 51

3.4.6 Spiel, Version mit rangeO ................................................ 54

3.4.7 while-Schleife ................................................................. 56

3.4.8 Spiel, Version mit while-Schleife und Zähler ............ ........ 57

3.5 Fehler und Ausnahmen ....... ....... ....... ...... ....... ....... ....... ...... ....... ... 58

3.5.1 Basisprogramm ...... ....... ...... ....... ...... ....... ...... ....... ...... ...... 58

3.5.2 Programmabbruch vermeiden ........ ........ ....... ........ ........ .. 59

3.5.3 Fehler abfangen ...... ....... ...... ....... ....... ....... ...... ....... ....... .. 61

3.5.4 Exkurs: Schleifenfortsetzung mit continue ....................... 62

3.5.5 Spiel, Version mit Ausnahmebehandlung ........................ 633.6 Funktionen und Module .............................................................. 65

3.6.1 Einfache Funktionen ...... ....... ....... ....... ....... ....... ....... ....... . 66

3.6.2 Funktionen mit einem Parameter ........ ......... ......... ......... . 68

3.6.3 Funktionen mit mehreren Parametern ........ ......... .......... .. 69

3.6.4 Funktionen mit Rückgabewert ......................................... 70

3.6.5 Spiel, Version mit Funktionen ......................................... 71

3.7 Das fertige Spiel........................................................................... 72

4 Datentypen .............................................................................. 77

4.1

6

Zahlen

4.1.1

4.1.2

Ganze Zahlen ................................................................. .

Zahlen mit Nachkommastelien ...................................... .

77

77

79

4.1.3 Operatoren..................................................................... 80

4.1.4 Rundung und I<onvertierung ...... ....... ....... ....... ....... ....... .. 80

4.1.5 Modul math .................................................................... 82

4.1.6 Brüche............................................................................ 83

5/17/2018 Seiten Aus Einstieg in Python 3 - slidepdf.com

http://slidepdf.com/reader/full/seiten-aus-einstieg-in-python-3 4/15

 

Inhalt

4.2 Zeichenketten .............................................................................. 86

4.3

4.4

4.2.1 Eigenschaften.................................................................. 86

4.2.2 Operatoren ..................................................................... 87

4.2.3 Operationen ................................................................... 89

4.2.4 Funktionen..................................................................... 91

4.2.5 Umwandlung von Zeichenkette in Zahl........................... 94

4.2.6 Umwandlung von Zahl in Zeichenkette ........... ........... ..... 96

4.2.7 Datentyp bytes.................. ....................... ...................... . 97

Listen 98

4.3.1 Eigenschaften.................................................................. 98

4.3.2 Operatoren..................................................................... 100

4.3.3 Funktionen und Operationen .......................................... 101

Tupel

4.4.1

104

Eigenschaften .................................................................. 104

4.4.2 Operationen................................................................... 104

4.4.3 Tupel entpacken ............................................................. 106

4.5 Dictionarys .................................................................................. 109

4.5.1 Eigenschaften ....... ....... ...... ....... ...... ....... ...... ....... ....... ...... 109

4.5.2 Funktionen ..................................................................... 110

4.5.3 Views .............................................................................. 111

4.5.4 Vergleiche ....................................................................... 113

4.6 Mengen, Sets ............................................................................... 114

4.6.1 Eigenschaften ....... ....... ...... ....... ...... ....... ...... ....... ....... ...... 114

4.6.2 Funktionen ..................................................................... 115

4.6.3 Operatoren ..................................................................... 116

4.6.4 Frozenset ........................................................................ 119

4.7 Wahrheitswerte und Nichts ......................................................... 120

4.7.1 Wahrheitswerte True und False ....................................... 120

4.7.2 Nichts, None ................................................................... 123

4.8 Referenz, Identität und Kopie ...................................................... 125

4.8.1 Referenz und Identität .................................................... 125

4.8.2 Ressourcen sparen ...... ....... ....... ...... ....... ....... ....... ...... ..... 127

4.8.3 Objekte kopieren ............................................................ 128

5 Weiterführende Programmierung ............................................ 131

5.1 Allgemeines ................................................................................. 131

5.1.1 Kombinierte Zuweisungsoperatoren ........ ......... ........ ....... 131

5.1.2 Anweisung in mehreren Zeilen ....... ....... ....... ........ ....... .... 133

5.1.3 Eingabe mi t Hilfestellung ................................................ 134

7

5/17/2018 Seiten Aus Einstieg in Python 3 - slidepdf.com

http://slidepdf.com/reader/full/seiten-aus-einstieg-in-python-3 5/15

 

Inhalt

5.1.4 Anweisung pass .............................................................. 135

5.1.5 Funktionen evalO und execO ........................................... 137

5.2 Ausgabe und Formatierung ...... ....... ....... ....... ...... ....... ....... ....... .... 138

5.2.1 Funktion printO ............................................................... 138

5.2.2 Formatierte Ausgabe ....... ........ ....... ....... ....... ........ ....... .... 140

5.3 Condit ional Expression ....... ........ ....... ....... ....... ....... ....... ....... ....... 144

5.4 Iterierbare Objekte ...................................................................... 145

5.4.1 Funktion zipO ...... ....... ....... ....... ....... ....... ...... ....... ....... ..... 146

5.4.2 Funktion mapO ............................................................... 146

5.4.3 Funktion filterO ............................................................... 148

5.5 List Comprehension ..................................................................... 149

5.6 Fehler und Ausnahmen ....... ....... ....... ...... ....... ....... ....... ...... ....... ... 151

5.6.1 Allgemeines .................................................................... 151

5.6.2 Syntaxfehler .................................................................... 152

5.6.3 Laufzeitfehler .................................................................. 1535.6.4 Logische Fehler und Debugging ....... ........ ........ ....... ........ 154

5.6.5 Fehler erzeugen ...... ....... ...... ....... ....... ....... ...... ....... ....... .. 158

5.6.6 Unterscheidung von Ausnahmen ..................................... 159

5.7 Funktionen .................................................................................. 161

5.7.1 Variable Anzahl von Parametern ....... ........ ........ ....... ........ 161

5.7.2 Benannte Parameter ....... ....... ....... ....... ........ ....... ....... ...... 162

5.7.3 Voreinstellung von Parametern ........ ........ ....... ........ ........ 163

5.7.4 Mehrere Rückgabewerte ................................................. 164

5.7.5 Übergabe von I<opien und Referenzen ... ................ ......... 165

5.7.6 Lokal, global ................................................................... 168

5.7.7 Lambda-Funktion ............................................................ 169

5.8 Eingebaute Funktionen ........ ....... ....... ....... ....... ....... ....... ....... ....... 170

5.8.1 Übersicht ........................................................................ 170

5.8.2 Funktionen maxO, minO und sumO ................................. 171

5.8.3 Funktionen chrO und ordO .............................................. 172

5.8.4 Funktionen reversedO und sortedO ........ ........ ......... ........ 173

5.9 Eigene Module ............................................................................ 174

5.9.1 Eigene Module erzeugen ................................................. 174

5.9.2 Eigene Module verwenden .............................................. 175

5.10 Parameter der I<ommandozeile ....... ....... ....... ....... ....... ....... ....... ... 176

5.10.1 Übergabe von Zeichenketten ........ ........ ........ ........ ........ ... 176

5.10.2 Übergabe von Zahlen .......... ........ ....... ....... ....... ....... ........ 177

5.10.3 Beliebige Anzahl von Parametern ........ ........ ........ ........ .... 177

8

5/17/2018 Seiten Aus Einstieg in Python 3 - slidepdf.com

http://slidepdf.com/reader/full/seiten-aus-einstieg-in-python-3 6/15

 

Inhalt

6 Objektorientierte Program m erung ......................................... 179

6.1 Was ist OOP? ....... ...... ...... ....... ...... ....... ...... ...... ....... ...... ....... ...... . 179

6.2 I<lassen, Objekte und eigene Methoden ....................................... 180

6.3 I<onstruktor und Destruktor ......................................................... 182

6.4 Besondere Methoden .................................................................. 1846.5 Operatormethoden ...................................................................... 185

6.6 Referenz, Identität und I<opie ...................................................... 187

6.7 Vererbung ................................................................................... 189

6.8 Mehrfachvererbung ..................................................................... 192

7 Neues in python 3 .................................................................... 195

7.1 Neue und geänderte Eigenschaften .............................................. 195

7.1.1 Auffällige Änderungen ..................................................... 195

7.1.2 Weitere Änderungen ....................................................... 196

7.2 I<onvertierung von Python 2 zu Python 3 ..................................... 197

8 Verschiedene Module ............................................................... 199

8.1 Datum und Zeit ........................................................................... 199

8.1.1 Spielen mit Zeitangabe .................................................... 199

8.1.2 Aktuelle Zeit ausgeben .................................................... 199

8.1.3 Zeitangabe erzeugen ....................................................... 203

8.1.4 Mit Zeitangaben rechnen ................................................ 204

8.1.5 Programm anhalten ......................................................... 206

8.1.6 Spiel, Version mit Zeitmessung ........................................ 208

8.2 Modul collections ........................................................................ 209

8.3 Multithreading ............................................................................ 212

8.3.1 Wozu dient Multithreading? ........................................... 212

8.3.2 Erzeugung eines Threads ....... ....... ....... ....... ....... ....... ...... . 212

8.3.3 Identif izierung eines Threads ........................................... 213

8.3.4 Gemeinsame Objekte ...................................................... 215

8.3.5 Threads und Exceptions ....... ....... ....... ...... ....... ....... ....... .. 2168.4 Reguläre Ausdrücke ..................................................................... 218

8.4.1 Suchen von Teiltexten ....... ....... ....... ...... ....... ....... ...... ...... 218

8.4.2 Ersetzen von Teiltexten ........ ....... ....... ........ ....... ....... ....... 222

9 Dateien ........................................ ......................................... .... 225

9.1 Dateitypen ................................................................................... 225

9.2 Öffnen und Schließen einer Datei ................................................ 226

9

5/17/2018 Seiten Aus Einstieg in Python 3 - slidepdf.com

http://slidepdf.com/reader/full/seiten-aus-einstieg-in-python-3 7/15

 

Inhalt

9.3 Sequenzielle Dateien ................................................................... 227

9.3.1 Sequenzielles Schrei ben ........... ....... ....... ........ ....... ....... ... 227

9.3.2 Sequenzielles Lesen ......................................................... 229

9.3.3 CSV-Datei schreiben ....... ....... ....... ....... ...... ....... ....... ....... 234

9.3.4 CSV- Datei lesen .............................................................. 236

9.4 Dateien mit festgelegter Struktur ................................................. 237

9.4.1 Formatiertes Schreiben .................................................... 238

9.4.2 Lesen an bel iebiger Stelle ................................................ 239

9.4.3 Schreiben an beliebiger Stelle .......................................... 241

9.5 Modul pickle ............................................................................... 242

9.5.1 Objekte in Datei schreiben .............................................. 242

9.5.2 Objekte aus Datei lesen .......... ........ ....... ....... ........ ....... ... 244

9.6 Bearbeitung mehrerer Dateien ..................................................... 246

9.7 Informationen über Dateien ......................................................... 247

9.8 Dateien und Verzeichnisse verwalten ........................................... 248

9.9 Spiel, Version mit Highscore-Datei ............................................... 249

9.9.1 Eingabebeispiel ............................................................... 250

9.9.2 Aufbau des Programms ................................................... 250

9.9.3 Code des Programms ...... ....... ....... ....... ....... ...... ....... ....... 251

10 Internet .................................................................................... 257

10

10.1 Laden und Senden von Internetdaten ..... ........ ........ ....... ........ ...... 257

10.1.110.1.2

10.1.3

10.1.4

10.1.5

Lokaler Webserver ....................................................... 257Daten lesen .................................................................. 258

Daten kopieren ............................................................ 261

Daten senden per GET ................................................. 261

Daten senden per POST ............................................... 264

10.2 Webserver-Programmierung ........................................................ 267

10.2.1 Erstes Programm .......................................................... 267

10.2.2 Beantworten einer Benutzereingabe ............................. 268

10.2.3 Formularelemente mit mehreren Werten ..................... 272

10.2.4

Typen von Formularelementen .....................................274

10.3 Browser aufrufen ......................................................................... 280

10.4 Spiel, Version für das Internet ...................................................... 281

10.4.1 Eingabebeispiel ............................................................ 281

10.4.2

10.4.3

Aufbau des Programms ................................................ 283

Code des Programms ..... ....... ....... ....... ....... ....... ....... .... 284

5/17/2018 Seiten Aus Einstieg in Python 3 - slidepdf.com

http://slidepdf.com/reader/full/seiten-aus-einstieg-in-python-3 8/15

 

Inhalt

11 Datenbanken ............................................................................ 291

11.1 Aufbau von Daten banken ............................................................ 291

11.2 SQ Lite ......................................................................................... 292

11.2.1 Datenbank, Tabelle und Datensätze ........ ......... ......... ... 292

11.2.2 Daten anzeigen ............................................................ 29511.2.3 Daten auswählen, Operatoren ..................................... 296

11.2.4 Operator I ke ............................................................... 298

11.2.5 Sortierung der Ausgabe................................................ 300

11.2.6 Auswahl nach Eingabe ................................................. 301

11.2.7 Datensätze ändern ....................................................... 303

11.2.8 Datensätze läschen ...................................................... 305

11.3 SQ Lite auf dem Webserver .......................................................... 306

12 Benutzeroberflächen ................................................................ 309

12.1 Einführung ................................................................................... 309

12.1.1 Eine erste GUI-Anwendung .......................................... 310

12.1.2 Ändern von Eigenschaften ............................................ 311

12.2 Widget-Typen .............................................................................. 313

12.2.1 Anzeigefeld, Label ........................................................ 313

12.2.2 Einzeilige Textbox, Entry .............................................. 316

12.2.3 Versteckte Eingabe ...................................................... 318

12.2.4 Mehrzeilige Textbox, Text ............................................ 320

12.2.5 Scrollende Textbox, ScrolledText .................................. 322

12.2.6 Listbox mit einfacher Auswahl ...................................... 323

12.2.7 Listbox mit mehrfacher Auswahl .................................. 325

12.2.8 Scrollbar, scrollende Widgets ....................................... 327

12.2.9 Radio-Buttons zur Auswahl, Widget-Var iablen ............. 329

12.2.10 Radio-Buttons zur Auswahl und Ausführung ................ 331

12.2.11 Check-Buttons zur mehrfachen Auswahl ...................... 333

12.2.12 Schieberegler, Scale ..................................................... 335

12.2.13 Mausereignisse ............................................................ 338

12.2.14 Tastaturereignisse ........................................................ 34112.3 Geometrische Anordnung von Widgets ........................................ 343

12.3.1 Frame-Widget, Methode packO ................................... 343

12.3.2 Ein einfacher Taschenrechner ....................................... 346

12.3.3 Methode gridO ............................................................ 351

12.3.4 Methode placeO, absolute Koordinaten ........... ............ 353

11

5/17/2018 Seiten Aus Einstieg in Python 3 - slidepdf.com

http://slidepdf.com/reader/full/seiten-aus-einstieg-in-python-3 9/15

 

Inhalt

12.3.5 Methode placeO, relative I<oord inaten ........ ......... ........ 355

12.3.6 Absolute Veränderung von I<oordinaten ...................... 357

12.3.7 Relative Veränderung von I<oord inaten .......... .......... .... 359

12.4 Menüs und MessageBoxes ........................................................... 363

12.4.1 Menüleisten ................................................................. 363

12.4.2 I<ontextmenüs ............................................................. 368

12.4.3 Message Boxes.......................................................... .... 372

13 Lösungen .................................................................................. 379

Index ............................................................................................................ 387

12

5/17/2018 Seiten Aus Einstieg in Python 3 - slidepdf.com

http://slidepdf.com/reader/full/seiten-aus-einstieg-in-python-3 10/15

 

4 I Datentypen

print("Element durch Lis te erse tz t : " )

pr in t ( f r )

Listing 4.21 Datei p0422 .py

Die Ausgabe der Liste in den verschiedenen Zuständen:

Orig ina l :

[ 'Par is ' , 'Lyon' , 'Marse i l le ' , 'Bordeaux']

Element ersetz t :

[ 'Par is ' , 'Lyon' , 'Lens' , 'Bordeaux']

Tei 1 ersetzt :

[ 'Par is ' , 'Nancy', 'Metz ' , 'Gap', 'Bordeaux']

Tei l entnommen:

[ 'Par is ' , 'Nancy', 'Metz ' ]

Element durch Liste ersetzt :

[ [ 'Par is -Nord ' , 'Par is-Sud' ] , 'Nancy', 'Metz ' ]

Zur Erläuterung:

~ Die originalliste , bestehend aus vier Zeichenketten, wird erstellt.

Ersetzen ~ Ein einzelnes Element wird durch eine andere Zeichenkette ersetzt.

~ Ein Teilbereich wird durch eine Liste ersetzt.

Löschen ~ Ein Teilbereich wird mithilfe von de l aus der Liste gelöscht.

~ Ein Element wird durch eine Liste ersetzt, dadurch wird eine einge-

bettete Liste erzeugt.

Es gibt eine Reihe von weiteren Funktionen zur Analyse und Bearbeitung

von Listen. Einige dieser Funktionen werden im folgenden Programm

verdeutlich :

lf Orig inal ls te

f r ~ [" Par i s " , " Ly 0 n" , "M ars e i l 1e" ]

pr in t ( "Or ig ina l : " )

pr in t ( f r )

# Einsetzen eines Elements

f r . insert (O,"Nantes")

print("Nach Einsetzen:")

pr in t ( f r )

# Sort ieren der Elemente

f r . so r t ( )

print("Nach Sort ieren:")

pr in t ( f r )

102

5/17/2018 Seiten Aus Einstieg in Python 3 - slidepdf.com

http://slidepdf.com/reader/full/seiten-aus-einstieg-in-python-3 11/15

 

# Umdrehen der Liste

fr.reverse()

print("Nach Umdrehen:")

print(fr)

# Entfernen eines Elementsfr.remove("Nantes")

print("Nach Entfernen:")

print(fr)

# Ein Element am Ende hinzu

fr.append("Paris")

print("Ein Element hinzu:")

print(fr)

i! Anzahl bestimmterEl

ementeprint("Anzahl Elemente Paris:", fr .count("Paris"))

# Suchen bestimmter Elemente

print("Erste Position Paris:", fr . index("Paris"))

Listing 4.22 Datei p0423 .py

Die Ausgabe der Liste in den verschiedenen Zuständen:

Original:

[ , Par i s " 'Ly 0 n " 'M ars eil 1 e ' ]Nach Einsetzen:

[ , Na n t es ' , 'P a r i s " 'Ly 0 n " 'M ars eil 1 e ' ]

Nach Sortieren:

[ , Ly 0 n " 'M ars eil 1e ', 'N a n t es ' , 'P a r i s ' ]

Nach Umdrehen:

[ 'Par is ' , 'Nantes', 'Marseille ' , 'Lyon']

Nach Entfernen:

[ 'Par is ' , 'Marseille ' , 'Lyon']

Ein Element hinzu:

[ 'Par is ' , 'Marseille ' , 'Lyon', 'Paris ' ]Anzahl Elemente Paris: 2

Erste Position Paris: 0

Zur Erläuterung:

Listen I 4·3

~ Die Originalliste, bestehend aus drei Zeichenketten, wird erstellt.

~ Ein Element wird mit der Funktion in s er t ( ) an der Position 0 einge- insertO

fügt, also zu Beginn der Liste.

1°3

5/17/2018 Seiten Aus Einstieg in Python 3 - slidepdf.com

http://slidepdf.com/reader/full/seiten-aus-einstieg-in-python-3 12/15

 

4 I Datentypen

sortO ~ Die Liste wird mit der Funktion sor t ( ) intern sortiert. Falls es sich

um eine Liste von Zeichenketten handelt, wird alphabetisch sortiert.

Eine Liste von zahlen wird nach Größe sortiert. Bei anderen Listen-

elementen oder bei gemischten Listen ist der Einsatz der Funktion

so r t ( ) nur bedingt sinnvoll.

reverseO ~ Die Liste wird mit der Funktion reverse( ) intern umgedreht.

removeO ~ Ein bestimmtes Element (hier: Nantes) wird innerhalb der Liste

gesucht. Falls es vorhanden ist, wird das erste Vorkommen dieses Ele-

ments mit der Funktion remove( ) gelöscht. Falls es nicht vorhanden

ist, wird eine Ausnahme ausgelöst.

appendO ~ Ein Element wird am Ende der Liste mit der Funktion a ppend ( ) angefügt.

countO ~ Die Anzahl der Vorkommen eines bestimmten Elements (hier: Pa r i s)

wird mit der Funktion count() ermittelt.

indexO ~ Die Position des ersten Vorkommens eines bestimmten Elements

(hier: Par i s) wird mit der Funktion index ( ) ermittelt. Ist das Element

nicht vorhanden, wird eine Ausnahme ausgelöst.

4.4 lupel

In diesem Abschnitt werden Tupel und ihre besonderen Eigenschaften

sowie Operationen mit Tupeln erläutert.

Eigenschaften

Unveränderlich Ein Tupel unterscheidet sich von einer Liste im Wesentlichen durch eine

einzige Eigenschaft: Ein Tupel kann nicht verändert werden. Ansonsten

gelten die gleichen Regeln und es können die gleichen Operationen und

Funktionen auf Tupel wie auf Listen angewendet werden, sofern sie

keine Veränderung des Tupels hervorrufen.

4.4.2 Operationen

Einige Beispiele und Besonderheiten:

lf Tupel mi t und ohne Kl ammer

z ~ (3, 6, -8, 5.5)

pr int ( "Tupel 1:" , z)

Z ~ 6, 8, -3

pr int ( "Tupel 2:" , z)

104

5/17/2018 Seiten Aus Einstieg in Python 3 - slidepdf.com

http://slidepdf.com/reader/full/seiten-aus-einstieg-in-python-3 13/15

 

12 I Benutzeroberflächen

Widget-Dictionary

configureO

Ir Button Ende 1

bl ~ tkinter.Button(main, text

Ir Button Ende 2

b2 ~ tkinter.Button(main)

b2["text"]~

"Auch Ende"b2["command"] ende

Ir Button Ende 3

b3 ~ tkinter.Button(main)

"Ende", command

b3.configure(text ~ "Ebenfalls Ende", command

# Buttons anzeigen

bl.pack()

b2.pack()

b3.pack()

# Endlosschleife

main.mainloop()

Listing 12.2 Datei p1202.py

ende)

ende)

Bei Ausführung des Programms werden drei Buttons angezeigt, die auf

unterschiedliche Art und Weise erzeugt wurden:

Abbildung 12.2 Drei unterschiedlich erzeugte Buttons

Zur Erläuterung:

~ Der Button bl wird bei Erzeugung mit allen Eigenschaften versorgt.

~ Der Button b2 wird zunächst nur erzeugt und dem Hauptfenster zuge-ordnet. Anschließend wird das Widget wie ein Dictionary genutzt.

Die jeweilige Eigenschaft wird als schlüssel verwendet, dem ein Wert

zugewiesen wird.

~ Der Button b3 wird ebenfalls zunächst nur erzeugt und dem Haupt

fenster zugeordnet. Anschließend wird die Methode confi gure ( ) mit

benannten Parametern auf das Widget angewendet, um ihm Eigen

schaften zuzuweisen.

312

5/17/2018 Seiten Aus Einstieg in Python 3 - slidepdf.com

http://slidepdf.com/reader/full/seiten-aus-einstieg-in-python-3 14/15

 

Widget-Typen I 12.2

12.2 Widget-Typen

In diesem Abschnitt werden eine Reihe von Widget-Typen für die ver

schiedenen Einsatzzwecke vorgestellt.

12.2.1 Anzeigefeld, Label

Ein Label-Widget wird zur Anzeige von Informationen verwendet. Dabei Label-Widget

kann es sich um ein Bild oder um einen unveränderlichen Text handeln.

Die Texte dienen in Gur-Anwendungen zur Erläuterung der Oberfläche

und ihrer Bedienelemente für den Benutzer.

Anhand von drei Labels sollen im folgenden Programm eine Reihe von

allgemeinen Widget-Eigenschaften gezeigt werden, die bei allen Arten

von Widgets zur Anwendung kommen können.

Dies sind die Eigenschaften:

~ font (Schrift)

~ height (Höhe)

~ width (Breite)

~ borderwidth (Randbreite)

~ re 1 i ef (Randart)

~ image (Bild)

~ bg (background, Hintergrundfarbe)

~ fg (foreground, Vordergrundfarbe)

~ an cho r (Ausrichtung)

Das Programm sieht folgendermaßen aus:

import sys , tk in te r

def ende():

sys.exi t (O)

main ~ tk in te r .Tk( )

lf Erstes Label, mit Text

lb 1 ~ tkinter .Label(main, t ex t ~ "groove")

lb l [" fon t"] ~ "Courier 16 i t a l i c "

lb1["height"] ~ 2

lb1["width"] ~ 20

lb1["borderwidth"] 5

313

Allgemeine

Eigenschaften

5/17/2018 Seiten Aus Einstieg in Python 3 - slidepdf.com

http://slidepdf.com/reader/full/seiten-aus-einstieg-in-python-3 15/15

 

12 I Benutzeroberflächen

lbl["re l ief"] ~ "groove"

lb1["bg"] ~ "#FFFFFF"

lb1["fg"] ~ "#000000"

lb1["anchor"] ~ "w"

lb1.pack()

Ir Ende- Button

b ~ tkinter.Button(main. text

b.pack()

Ir Zweites Label. mit Text

lb2 ~ tkinter.Label(main. text

lb2["font"] ~ "Arial 11 bold"

lb2["height"] ~ 2

lb2["width"] ~ 20

lb2["borderwidth"] ~ 5

lb2["rel ief"] ~ "ridge"

lb2["bg"] ~ "#FFFFFF"

lb2["fg"] ~ "#000000"

lb2["anchor"] ~ "e"

lb2.pack()

Ir Dri t tes Label. mi t Bi 1d

lb3 ~ tkinter.Label(main)

"Ende". command

"ridge")

im ~ t k i n t e r . P h o t o l m a g e ( f i l e ~ " g l o b u s . g i f " ) lb3["image"] ~ im

lb3.pack()

main.mainloop()

Listing 12.3 Datei p1203.py

Das Ergebnis dieses Programms zeigt Abbildung 12.3.

groove

ridge l

Abbildung 12.3 Label

314

ende)