Python für Dummies - Johannes C. Hofmeister - E-Book

Python für Dummies E-Book

Johannes C. Hofmeister

0,0
17,99 €

-100%
Sammeln Sie Punkte in unserem Gutscheinprogramm und kaufen Sie E-Books und Hörbücher mit bis zu 100% Rabatt.
Mehr erfahren.
Beschreibung

Python ist eine der beliebtesten und vielseitigsten Programmiersprachen überhaupt. Für viele Entwickler führt deshalb kein Weg an Python vorbei. Schöpfen Sie mit diesem Buch aus dem reichen Erfahrungsschatz zweier langjähriger Softwareentwickler. Sie lernen zunächst die Syntax der Sprache und vertiefen dann das Erlernte anhand von konkreten Aufgabenstellungen. Für den Blick über den Tellerrand sorgen Kapitel zu Programmierparadigmen, Code-Qualität, Test-Ansätzen und Dokumentation. Jede Menge Tipps und Tricks und ein breites Spektrum an Beispielen lassen Sie zu einem wahren Python-Profi werden.

Sie lesen das E-Book in den Legimi-Apps auf:

Android
iOS
von Legimi
zertifizierten E-Readern

Seitenzahl: 416

Bewertungen
0,0
0
0
0
0
0
Mehr Informationen
Mehr Informationen
Legimi prüft nicht, ob Rezensionen von Nutzern stammen, die den betreffenden Titel tatsächlich gekauft oder gelesen/gehört haben. Wir entfernen aber gefälschte Rezensionen.



Bibliografische Information der Deutschen Nationalbibliothek

Die Deutsche Nationalbibliothek verzeichnet diese Publikation in der Deutschen Nationalbibliografie; detaillierte bibliografische Daten sind im Internet über http://dnb.d-nb.de abrufbar.

© 2020 WILEY-VCH Verlag GmbH & Co. KGaA, Weinheim

Wiley, the Wiley logo, Für Dummies, the Dummies Man logo, and related trademarks and trade dress are trademarks or registered trademarks of John Wiley & Sons, Inc. and/or its affiliates, in the United States and other countries. Used by permission.

Wiley, die Bezeichnung »Für Dummies«, das Dummies-Mann-Logo und darauf bezogene Gestaltungen sind Marken oder eingetragene Marken von John Wiley & Sons, Inc., USA, Deutschland und in anderen Ländern.

Das vorliegende Werk wurde sorgfältig erarbeitet. Dennoch übernehmen Autoren und Verlag für die Richtigkeit von Angaben, Hinweisen und Ratschlägen sowie eventuelle Druckfehler keine Haftung.

Print ISBN: 978-3-527-71414-8

ePub ISBN: 978-3-527-81116-8

Coverfoto: © chris – stock.adobe.com

Korrektur: Matthias Delbrück, Dossenheim/Bergstraße

Inhaltsverzeichnis

Cover

Über die Autoren

Über Johannes

Über Horst

Johannes' Widmung

Horsts Widmung

Danksagung

Einleitung

Törichte Annahmen über den Leser

Wie Sie dieses Buch nutzen können

Was Sie nicht lesen müssen

Wie dieses Buch aufgebaut ist

Symbole, die in diesem Buch verwendet werden

Konventionen in diesem Buch

Teil I: Langweilige Einmallektüre

Kapitel 1: Orientierung

Motivation

Anwendungsgebiete

Kapitel 2: Im Kriechgang – die Installation

Windows

macOS

Linux

Einer für alle ...

Kapitel 3: Der Schlange Beine machen – Python ausführen

Der REPL

Editor oder IDE?

Teil II: Python sprechen lernen

Kapitel 4: Hic forum est – Schnellkurs

Vogelperspektive

Das kleinste Python-Programm der Welt

Zeichenketten und Bildschirmausgabe

Rechnen mit Python

Variablen

Wahrheitswerte und bedingte Ausführung

Listen und Schleifen

Funktionen und Module

Fehlerbehandlung

Kapitel 5: Daten strukturieren

Listen

Tupel

Dictionarys

Sets

Kapitel 6: Daten transformieren

Iteration

Comprehensions

Slicing

Iteration ohne Index

FAQ – Leben ohne Index

Kapitel 7: Mit der Außenwelt kommunizieren

Selbstgespräche führen

Kommandozeilenparameter

Textdateien einlesen

Textdateien schreiben

Alles fließt

Bin\xc3\xa4rdaten lesen

Binärdaten schreiben

Teil III: Mit Python Probleme lösen

Kapitel 8: Was Python schon kann

Built-ins

Module und Pakete

Die Standardbibliothek

Minisprachen

Kapitel 9: Was Python (noch) nicht kann

Pip installieren

Pakete installieren

Installierte Pakete ansehen

Spezifische Versionen installieren

Pakete entfernen

Kapitel 10: Was Sie Python beibringen können

Eigene Module

Eigene Pakete

Eigene Skripte

Hintergrund: Wie Module geladen werden

Teil IV: Python als Handwerk

Kapitel 11: Funktionale Programmierung

Anatomie einer Funktion

Argumente entpacken

Funktionen haben »Bürgerrechte«

Dekoratoren

Generatoren

Kapitel 12: Objektorientierte Programmierung

Anatomie eines Objekts

Beziehungen

In Objekten denken

Kapitel 13: Ausnahmen

Ausnahmen behandeln

Eigene Ausnahmen auslösen

Ausnahmen als Signale nutzen

Beispiel: Hotels buchen

Kapitel 14: Testen

Wenn Ihr Programm nicht tut, was es soll

Python bei der Arbeit zuschauen

Unit-Tests schreiben mit dem unittest-Modul

Teil 5: Brötchen (oder Lorbeeren) mit Python verdienen

Kapitel 15: Code-Qualität

Werkzeuge

Integrierte Code-Audits

Chancen und Grenzen

Kapitel 16: Webanwendungen entwickeln

Python und das Web

Django

Zusammenfassung

Kapitel 17: Daten aufbereiten, visualisieren und auswerten

Setup

Szenario: Minigolf

Datensatz

Schritt 0 – Fragen

Schritt 1 – Daten einlesen

Schritt 2 – Data Frames untersuchen

Schritt 3 – Series-Objekte betrachten

Schritt 4 – Beschreibende Statistiken ausgeben

Schritt 5 – Filtern und Bereinigen

Schritt 6 – Auswerten

Schritt 7 – Visualisieren

Schritt 8 – Schließende Statistik

Zusammenfassung

Teil IV: Der Top-Ten-Teil

Kapitel 18: Zehn gute Bibliotheken

Die Standardbibliothek

Requests

BeautifulSoup

Scrapy

Selenium

Cryptography

Pypdftk

Flask

OpenCV

NLTK

Kapitel 19: Zehn Dinge, die wir ausgelassen haben

Python 2.7

Interoperabilität mit C

Python Bytecode disassemblieren

Debugging

Logging

GUIs

Nebenläufige Ausführung

Typ-Annotationen

Dataclasses

Walross-Operator

Stichwortverzeichnis

End User License Agreement

Tabellenverzeichnis

Kapitel 4

Tabelle 4.1 Operator-Präzedenz

Tabelle 4.2 Wichtige Zuweisungen

Tabelle 4.3 Boolesches

and

/Boolesches

or

Tabelle 4.4 Boolesches

not

Kapitel 7

Tabelle 7.1 Gebräuchliche Steuerzeichen

Tabelle 7.2 Dateimodi

Tabelle 7.3 Kombinationen verschiedener Modi

Kapitel 8

Tabelle 8.1 Built-ins für den REPL

Tabelle 8.2 Built-ins zur Erzeugung von Containern

Tabelle 8.3 Built-ins zur Änderung von Zahlentypen

Tabelle 8.4 Built-ins zur Erzeugung von Ganzzahl-Darstellungen

Tabelle 8.5 Built-ins zur Erzeugung von Zeichen und Zeichenketten

Tabelle 8.6 Mathe-Built-ins

Tabelle 8.7 Built-ins zur Aggregation

Tabelle 8.8 Built-ins für die Datentransformation

Tabelle 8.9 Datumsformate

Tabelle 8.10 Zeitformate

Tabelle 8.11 Locale-Shortcuts

Tabelle 8.12 Zeitzonen

Kapitel 12

Tabelle 12.1 Mathematische Operatoren für Brüche

Kapitel 17

Tabelle 17.1 Punkte

Tabelle 17.2 Personen

Kapitel 19

Tabelle 19.1 Beliebte GUI-Frameworks

Illustrationsverzeichnis

Kapitel 2

Abbildung 2.1 Alle Downloads finden Sie auf der offiziellen Seite

Abbildung 2.2 Laden Sie die 64bit Version herunter

Abbildung 2.3 Wählen Sie

CUSTOMIZE INSTALLATION

Abbildung 2.4 Auswahl der Features – Wählen Sie auch hier alle Häkchen aus!

Abbildung 2.5 Erweiterte Optionen – Wählen Sie alle Häkchen aus!

Abbildung 2.6 Gehen Sie mit dem Hund raus!

Abbildung 2.7 Laden Sie den Installer herunter!

Abbildung 2.8 Willkommen!

Abbildung 2.9 Anpassen!

Abbildung 2.10 Wählen Sie alle Pakete aus!

Abbildung 2.11 Fertig!

Kapitel 5

Abbildung 5.1 Mengenoperationen

Kapitel 6

Abbildung 6.1 Syntax für Comprehensions

Kapitel 7

Abbildung 7.1 Aufbau einer PNG-Datei

Kapitel 8

Abbildung 8.1 Unicode-fähige Terminals geben sogar Icons aus

Kapitel 11

Abbildung 11.1 Syntax für Funktionsparameter

Kapitel 13

Abbildung 13.1 Der Ablauf einer Hotelbuchung

Kapitel 16

Abbildung 16.1 Wie Django HTTP-Anfragen verarbeitet

Abbildung 16.2 Wenn Sie diese Rakete sehen, dann hat es geklappt!

Abbildung 16.3 Der Eingang zur Django-Verwaltung

Abbildung 16.4 Die Django-Verwaltung

Abbildung 16.5 Eine Eingabemaske für Ihr Modell

Abbildung 16.6 Die Personenliste

Abbildung 16.7 Ihre eigene Namensliste

Kapitel 17

Abbildung 17.1 Die Verteilung der Punkte nach Geschlecht aufgeschlüsselt

Orientierungspunkte

Cover

Inhaltsverzeichnis

Fangen Sie an zu lesen

Seitenliste

1

2

3

4

5

9

10

11

12

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

49

50

51

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

85

86

87

88

89

90

91

92

93

94

95

96

97

98

99

100

101

102

103

104

105

106

107

109

110

111

112

113

114

115

116

117

118

119

120

121

122

123

124

125

126

127

128

129

130

131

132

133

134

135

136

137

138

139

140

141

142

143

144

145

146

147

148

149

150

151

152

153

154

155

156

157

158

159

160

161

162

163

164

165

166

167

168

169

170

171

172

173

174

175

176

177

178

179

180

181

182

183

184

185

186

187

188

189

190

191

192

193

194

195

196

197

198

199

200

201

202

203

204

205

206

207

209

210

211

212

213

214

215

216

217

218

219

220

221

222

223

224

225

226

227

228

229

230

231

232

233

234

235

236

237

239

240

241

242

243

244

245

246

247

248

249

250

251

252

253

254

255

256

257

258

259

260

261

262

263

264

265

266

267

268

269

270

271

272

273

274

275

276

277

278

279

280

281

282

283

284

285

286

287

288

289

290

291

292

293

294

295

296

297

298

299

300

301

302

303

304

305

306

307

308

309

310

311

312

313

314

315

316

317

318

319

320

321

322

323

324

325

326

327

328

329

330

331

332

333

334

335

336

337

338

339

340

341

342

343

344

345

346

347

348

349

350

351

352

353

354

355

356

357

358

359

360

361

362

363

364

365

366

367

368

369

370

371

372

373

375

376

377

378

379

380

381

383

384

385

386

387

388

389

390

393

394

395

396

397

398

Über den Autoren

Über Johannes

Johannes C. Hofmeister lebt in Heidelberg. Am Psychologischen Institut der Universität Heidelberg arbeitet er als Administrator und erforscht nebenher, was Code verständlich macht. Als Softwareentwickler und Berater hat er in großen und kleinen Unternehmen C#, Java und JavaScript eingesetzt, aber am liebsten liest und schreibt er Python-Code.

Über Horst

Horst Schneider lebt in Mannheim und arbeitet seit mehr als zehn Jahren als Softwareentwickler. Sein Schwerpunkt ist die Anwendungsentwicklung in verschiedenen Sprachen, von Java über C# bis zu JavaScript und Python. Aktuell arbeitet er als Coach und Berater im Raum Heidelberg und löst vielfältige Probleme – vorzugsweise mit Python.

Johannes' Widmung

Für Katha.

Horsts Widmung

Ich möchte dieses Buch Sabine und Rosa widmen. Danke für eure Unterstützung und die viele Geduld, die ihr mit mir hattet.

Danksagung

Eine frühe Fassung dieses Buches enthielt eine fiktive Anekdote darüber, wie der Mathematiker Alonzo Church Familie, Freunde und körperliche Hygiene vernachlässigte, um an seinen Theorien zum Lambda-Kalkül zu arbeiten. Inzwischen ist uns klar, dass wir wohl unsere eigene Situation auf Church projiziert haben. Wir bedanken uns daher bei allen, die uns in der Zeit unterstützt oder zumindest wohlwollend ertragen und uns den Rücken freigehalten haben.

Ganz besonderer Dank gilt Lars Kumbier für Raum, Zeit und aufmerksame Korrekturen. Kim Almasan wollen wir für die Installationsschritte auf dem Mac danken, die wir uns mangels Equipments sonst hätten ausdenken müssen. Dank gilt unserem enthusiastischen Erstleser Volker Lueg, dessen Anmerkungen unseren Code verbessert und uns sehr motiviert haben. Vielen Dank an Marion Lammarsch fürs Quietscheentchen-Debugging.

Ohne unseren Fachkorrektor Thomas Smits wäre das Buch wesentlich schlechter und wir ein wenig dümmer. Danke.

Einleitung

Python ist die beste Programmiersprache. Das behaupten wir nicht einfach so, sondern wir (sowohl Horst als auch Johannes) mussten erst viele gute und schlechte Erfahrungen mit anderen Sprachen sammeln, um zu so einer pauschalen Aussage zu kommen. In der Schule gab es Turbopascal und PHP. In der Uni gab's obendrein C, C++ und Java, im Job kam C# hinzu. Später nahmen wir JavaScript ins Portfolio auf.

Wie viel Spaß Programmieren machen kann, wissen wir aber erst, seit wir Python benutzen. Python ist unbürokratisch, dynamisch, schnell, intelligent und elegant. Python hat etwas Magisches an sich. Mit diesem Buch wollen wir Ihnen etwas von dieser Magie abgeben. Vielleicht können wir Sie ein bisschen verzaubern!

Wenn Sie das Buch gut finden, sagen Sie es anderen. Wenn Sie es blöd finden, sagen Sie es uns – dann verbessern wir es!

Viel Spaß beim Lesen!

Törichte Annahmen über den Leser

Dieses Buch richtet sich an Programmierer, die schon Erfahrungen in anderen Sprachen wie C, Java oder JavaScript sammeln konnten, sowie an ambitionierte Neulinge.

Wir werfen immer mal wieder Infos ein, die auf grundlegendem, technischem Hintergrundwissen aufbauen – das könnte blutige Programmieranfänger überfordern. Aber vielleicht trauen Sie sich trotzdem. Wir versuchen natürlich, alles zu erklären.

Die folgenden Dinge sollten Sie mitbringen:

Einen Computer mit Windows, Linux oder macOS

Deutsch- und Englischkenntnisse

Idealerweise Erfahrung im Umgang mit der Kommandozeile

Wie Sie dieses Buch nutzen können

Dies ist ein Buch zum Mitmachen. Sie finden viele Code-Schnipsel, die Sie gerne abtippen können – dabei lernt man sehr viel, vor allem am Anfang. Wenn Sie keine Lust haben, alles von Hand abzutippen, finden Sie alle Code-Beispiele zum Herunterladen auf der Webseite des Buches unter www.wiley-vch.de/ISBN9783527714148.

Sie dürfen auch gerne ins Buch reinkritzeln und Eselsohren hineinmachen, denn so ein Buch ist ein Gebrauchsgegenstand.

Was Sie nicht lesen müssen

Lesen Sie nicht einfach von vorne nach hinten, sondern der Nase nach. Lesen Sie, was Sie gerade interessiert und schmökern Sie hin und her. Außerdem sollten Sie etwas Humor mitbringen. Wir hatten viel Spaß beim Schreiben und hoffen, dass Sie ebenso viel Spaß beim Lesen haben.

Wie dieses Buch aufgebaut ist

Das Buch ist in folgende Teile unterteilt:

Teil I: Langweilige Einmallektüre

Irgendwo muss man anfangen. In diesem Teil helfen wir Ihnen bei der Installation und erklären noch ein bisschen, wie Sie die Code-Beispiele im Buch zum Laufen bringen. Diese Vorbereitungen sind notwendig, damit Sie den Beispielen im Buch folgen können.

Teil II: Python sprechen lernen

Weil wir davon ausgehen, dass Sie schon ein bisschen programmieren können, zeigen wir direkt einen wilden Ritt durch die wichtigsten Sprachfeatures, sodass Sie diese mit Ihren eigenen Erfahrungen abgleichen können. Danach lernen Sie noch einige grundlegende Details sowie coole Syntax-Features, die Sie so sicher noch nicht kennen. Am Ende dieses Teils können Sie Programme erstellen, die Dateien lesen und schreiben.

Teil III: Mit Python Probleme lösen

Eine Programmiersprache allein macht noch kein Programm – man braucht noch eine Problemstellung. Viele Probleme sind in Python bereits gelöst, denn Python bringt Myriaden an kleinen Funktionen, praktischen Modulen, interessanten Paketen und sogar eigenständigen Programmen mit, die Sie direkt nach der Installation einsetzen können. Bevor Sie also anfangen, kleinschrittig viel Code zu schreiben, sollten Sie sich ansehen, was es in Python schon so alles gibt. So ersparen Sie sich viel Kleinarbeit wie die Neuerfindung des Rades und des plattgefahrenen Reifens.

Teil IV: Python als Handwerk

Die kleinen Probleme sind in Python schon gelöst, daher können Sie sich ganz auf Ihre eigene Problemstellung konzentrieren. Um einem Computer beizubringen, wie man sich die Welt denn nun vorstellt, muss man seine Worte aber vorsichtig wählen. Wie Sie sich gut ausdrücken, zeigen wir in diesem Buchteil. Hier geht es um Funktionen, Objekte und Ausnahmen, die Ihnen sicher aus anderen Sprachen geläufig sind. Danach haben Sie das Wichtigste gesehen und sollten keine Überraschungen mehr erleben, wenn Sie anderer Leute Python-Code lesen.

Teil V: Brötchen (oder Lorbeeren) mit Python verdienen

Programmieren bereitet Freude, weil es so effektvoll ist. Man tippt wirre Zeichen und der Computer rattert und gibt irgendetwas aus – das macht einen Höllenspaß. Leider genießen nur wenige den Luxus, aus Spaß an der Freude vor sich hin zu programmieren. Daher zeigt dieser Buchteil einige Problemstellungen, die Sie so oder so ähnlich auch in der Praxis erleben könnten.

Teil VI: Der Top-Ten-Teil

Im Top-Ten-Teil wird eine Auswahl interessanter Bibliotheken präsentiert. Zusätzlich finden Sie Themen, die im Buch nicht besprochen werden konnten, aber Ihnen einen Einstieg bieten, falls Sie sich in Zukunft noch tiefer mit Python befassen wollen.

Symbole, die in diesem Buch verwendet werden

Im Buch verteilt finden Sie verschiedene Symbole:

Mit der Glühbirne werden praktische Tipps für den Alltag hervorgehoben.

Der Techniker liefert Hintergrund-Infos, Fakten oder interessante Details und taucht immer dann auf, wenn Erbsen gezählt werden müssen.

Der Finger mit dem Faden zeigt an, dass Sie sich etwas gut merken sollten oder dass etwas Wichtiges wiederholt wird.

Dieses Symbol zeigt, dass hier etwas schiefgehen könnte. Meistens heißt das, dass wir Autoren diesen Fehler schon mindestens 300-mal gemacht haben. Daher sollten Sie sich aus Solidarität die Zeit nehmen, ihn auch zu machen.

Hier plaudern wir aus dem persönlichen Nähkästchen und erzählen einen Schwank aus dem Entwickleralltag.

Konventionen in diesem Buch

Wir benutzen in diesem Buch die folgenden typografischen Konventionen.

Python-Code ist so formatiert:

Wir wollen uns nicht auf ein Betriebssystem festlegen, daher machen wir viel mit der Kommandozeile. Egal ob Linux, macOS und Windows – eine Kommandozeile gibt es immer frei Haus. Wir ermutigen Sie, sich mit ihr anzufreunden, denn sie ermöglicht einen direkten Draht zu Ihrem Betriebssystem.

Immer wenn einem Befehl ein Dollar ($) voransteht, meinen wir ganz allgemein, dass Sie diesen Befehl auf einer Kommandozeile eingeben sollen.

Wir unterscheiden dabei nicht zwischen den einzelnen Betriebssystemen und gehen davon aus, dass alle Befehle auf den gängigen Kommandozeilen funktionieren – auch wenn Eingabeaufforderung und Bildschirmausgabe subtil abweichen können.

Neue Konzepte heben wir hervor.

Wenn wir Code erklären, dann formatieren wir diesen auch im Fließtext so, dass Sie die Variablen wiedererkennen. Weiter oben im Code war zum Beispiel von print die Rede.

Variablen, die Sie im Fließtext finden, werden durch eine nichtproportionale Schriftart hervorgehoben, etwa so:

variable

Diese Schriftart verwenden wir auch für Internetadressen (URLs):

https://www.python.org/doc/humor/

Anklickbare Menüpunkte und Beschriftungen werden in

KAPITäLCHEN

gesetzt

Namen von Tools sehen so aus:

Werkzeug

Auch Platzhalter, die Sie geistig mit eigenen Werten füllen müssen, werden kursiv hervorgehoben:

<passwort>

Teil I

Langweilige Einmallektüre

IN DIESEM TEIL …

Warum Sie unbedingt Python lernen solltenWer sonst noch Python verwendetFirst things first: Python installierenPython ausführen und diesen Teil nie wieder anschauen

Kapitel 1

Orientierung

IN DIESEM KAPITEL

Eine Sprache für Leute mit DeadlinesPython ist nicht gleich PythonPython ist kein Spielzeug – außer Sie spielen damit

Bevor es losgeht, brauchen Sie erst mal eine Python-Lizenz. Diese kostet als Einzelplatz-Lizenz 7543,20 €. Alternativ können Sie auch eine Volumenlizenz für eine Bepreisung pro Prozessorkern erwerben. Wenn Sie einen Großrechner mit mehr als 64 Kernen haben, bekommen Sie Rabatt. Umgerechnet kostet die Lizenz dann 5380 €.

Bevor Sie jetzt verärgert das Buch in die Ecke pfeffern, möchten wir uns entschuldigen. Das war nicht ganz ernst gemeint. Python gibt's für lau. Aber auch sonst gibt es viele Dinge, die für Python sprechen.

Motivation

In diesem Buch geht es um die Programmiersprache Python. Es soll Sie motivieren, über den Tellerrand zu blicken, und Ihnen helfen, die Freude an der Programmierung wiederzufinden, wenn Sie sie im Dschungel zwischen fleischfressenden Ameisen und todbringenden Moskitos wie TypeScript-Typen, Java-Objekten, C-Pointern und C++-Templates verloren haben.

Was ist Python?

Python ist eine vielseitige Programmiersprache, die durch Einfachheit und Eleganz besticht.

Warum sollte ich Python lernen?

Wir glauben fest daran, dass sich Ihr Programmier-Karate in C, Java oder anderen Sprachen verbessert, wenn Sie erlernen, wie Python manche Dinge regelt.

Egal woher Sie gerade kommen, Python ist einen Besuch wert – und wer weiß, vielleicht möchten Sie ja sogar noch etwas länger bleiben.

Wenn Sie beruflich mit anderen Sprachen arbeiten, kann Python Ihnen interessante Design-Patterns aufzeigen. Vielleicht ist Python aber auch eine sinnvolle Ergänzung zu Ihrem bestehenden Werkzeugkasten. Beispielsweise könnten Sie mit Python eine elegante Test-Umgebung zaubern, wenn Sie viel mit SQL-Datenbanken arbeiten, oder Sie verwenden eines der Dutzende in Python geschriebener Tools.

Python lediglich die zweite Geige spielen zu lassen, wäre aber Verschwendung, denn Python ist als Programmiersprache und -umgebung durchaus ernstzunehmen. Es gibt Hunderte Bibliotheken und Frameworks für alle möglichen Anwendungsfälle, von Server-Monitoring, Webseiten und Computerspielen über Micro-Controller-Steuerung bis hin zu Tests und Automatisierung – es ist für alle was dabei.

Was ist an Python so besonders?

Es gibt viele Dinge, die Python zu etwas Besonderem machen:

Einfache, ausdrucksstarke und elegante Syntax

Schnell (... genug)

Läuft auf allen Betriebssystemen

Unglaublich vielseitig (vom Roboter bis zur Webseite ist alles möglich)

Die Benutzung macht Spaß

Python spielt auch gerne mit den anderen Kindern (Sprachen)

Gigantische Community

Wenn Sie es sich vorstellen können, dann gibt es dafür schon ein Modul

Python wohnt eine besondere Philosophie inne, die Sie auf der ersten Schummelseite im Buch finden. Das sogenannte »Zen of Python« fasst in 20 Sentenzen die Prinzipien zusammen, die Pythons Design über die Jahre lenkten. Tatsächlich enthält das Gedicht nur 19 Zeilen – die letzte wird vielleicht eines Tages noch aufgeschrieben.

Seit wann gibt es Python?

Vielleicht länger, als Sie dachten!

Von C und Java haben Sie sicherlich schon einmal gehört oder sogar schon Erfahrungen damit gesammelt – immerhin sind diese Sprachen (gefühlt) uralt. Die Sprache C wurde 1972 entwickelt, Java hingegen wurde 1995 in die Welt geworfen. Sicher überrascht es Sie zu erfahren, dass die erste Version von Python bereits im Jahr 1991 erschien – damit ist Python sogar 4 Jahre älter als Java. Trotzdem wirkt Python eventuell wie ein neuzeitliches Phänomen.

Als Lernsprache war Java lange der Platzhirsch an den Unis und wenn Sie sich auf Jobplattformen wie Xing oder LinkedIn nach Java-Programmierjobs umschauen, so werden Sie nicht lange suchen müssen; Python-Jobs hingegen sind immer noch eher rar gesät. Python befindet sich jedoch auf der Überholspur und ist an US-Universitäten inzwischen Lernsprache Nummer eins – da ist es eine Frage der Zeit, bis der Jobmarkt diesen Trend widerspiegelt.

Warum ist Python weniger verbreitet als andere Sprachen?

Schwer zu sagen. Firmenpolitik?

Es mag dafür verschiedene Gründe geben, auf die wir nicht alle eingehen möchten. Allerdings glauben wir, dass ein Faktor besonders wichtig war: Java wurde von Sun Microsystems entwickelt (eine Firma, die es heute nicht mehr gibt), Python aber wurde von Guido van Rossum erfunden (einem holländischen Informatiker, den es heute durchaus noch gibt).

In der Geschichte spielen sicher andere Faktoren eine wichtige Rolle, doch diese Besonderheit möchten wir hervorheben. Java ist sozusagen ein Kind der Unternehmenswelt, Python hingegen entstand als Spaßprojekt eines Einzelnen. Bis heute merkt man das, denn Python konnte sich – von einer Community vorangetrieben – ohne den Druck eines Marktes entwickeln, der auf Unternehmen und Konsortien einwirkt und sie behäbig macht.

An C# erkennt man dies sehr gut. Diese Sprache wurde 2001 von Microsoft entwickelt und enthält immer noch goto-Statements – die Edsger W. Dijkstra in seinem Artikel »Go To Statement Considered Harmful« bereits 1968 öffentlich schmähte. Um den Markt nicht unnötig zu verwirren, darf eine neue Programmiersprache nicht zu abgefahren aussehen, sonst lehnen Programmierer sie ab. C# sieht daher aus wie Java und enthält Altlasten wie das goto-Statement.

Verstehen Sie uns nicht falsch – sowohl Johannes als auch Horst programmieren für ihr Leben gerne und sind große Fans von C#. Jedoch entstammt Python einer anderen Kultur und bringt ein bestimmtes Gedankengut mit, das uns bis heute positiv beeinflusst.

Welche Sprachfeatures bringt Python mit?

Natürlich ist auch Python nicht im luftleeren Raum entstanden und borgt sich Konzepte sowie Syntax von anderen Programmiersprachen. Allerdings gibt es in Python nur Sprachfeatures, die die Community haben wollte. Sie werden sich daher sicher wundern, dass es manche Features in Python gar nicht gibt, die Sie aus anderen Sprachen kennen, wie etwa statische Typisierung, Switch-Case-Anweisungen, Inkrement-Operatoren (zum Beispiel i++) oder ein Semikolon am Ende der Zeile.

Sie werden sich aber auch wundern, was Python stattdessen mitbringt:

Alles ist ein Objekt

Alles ist dynamisch

Code wird durch Einrücken gruppiert, nicht durch geschweifte Klammern

Viele Operatoren sind Schlüsselworte statt Symbole

List Comprehensions

Generatoren

Dekoratoren

Natürlich hat auch Python einige seltsame Eigenarten. Beispielsweise wussten die Entwickler früher nicht, ob sie abkürz, unter_striche oder camelCase zur Benennung verwenden sollten. Auch konnten sie sich oft nicht für ein bestimmtes Programmierparadigma entscheiden (prozedural? objektorientiert?). In der Praxis fällt dies aber kaum ins Gewicht.

Ist Python eine Skript- oder eine Programmiersprache?

Die Antwort auf diese Frage lautet »ja«.

Python wird in der Regel durch einen Interpreter ausgeführt, also ist es eigentlich eine Skriptsprache. Allerdings wird wie bei Java ein Byte-Code erzeugt und interpretiert. Python ist außerdem eine Turing-vollständige Sprache, also können Sie damit theoretisch alles programmieren, was Sie möchten.

Ich habe gehört, dass Python langsam ist. Stimmt das?

Das kommt drauf an, aber eigentlich nicht.

Im normalen Sprachgebrauch bezeichnet Python hauptsächlich die Sprache und der Interpreter ist gleich mitgemeint, allerdings kommt es ganz auf den Interpreter an, wie schnell Ihre Programme später laufen.

Wenn Sie Python von der Stange installieren, bekommen Sie natürlich einen (in C geschriebenen) Interpreter mitgeliefert. Dessen Anspruch ist vor allem, eine gut verständliche Referenz zu bieten, und nicht so sehr, Geschwindigkeitsrekorde zu brechen. Allerdings müssen Sie diesen auch gar nicht nutzen.

Manche Interpreter bringen einen Just-in-Time-Compiler mit, der die Ausführung beschleunigt (zum Beispiel PyPy), und es ist durchaus möglich, Python-Code zu kompilieren.

Die Ausführung durch einen Interpreter hat prinzipbedingt eine langsamere Geschwindigkeit zur Folge, etwa im Gegensatz zu C, C++ oder blankem Assembler, aber selbst wenn Sie mal mit Performance-Problemen zu kämpfen haben, ist es nicht zu spät, die kritischen Teile in einer anderen Sprache zu schreiben. Diesen Weg geht beispielsweise SciPy, eine Python-Bibliothek für wissenschaftliche Berechnungen, bei der kritische Stellen in Fortran geschrieben wurden.

Die Sprache selbst ist also nicht langsam, denn es steht Ihnen offen, einen anderen Interpreter zu verwenden. Für die meisten Anwendungsfälle ist aber der Standard-Interpreter schnell genug.

Anwendungsgebiete

Python benutzen alle Leute, die Deadlines haben und guten Code schreiben möchten, ohne sich dabei von komplizierter Syntax und verwirrender Semantik ablenken zu lassen, darunter WissenschaftlerInnen, Web-EntwicklerInnen, TesterInnen und EntwicklerInnen.

Wer verwendet Python?

Verschiedene große Player setzen heute auf Python, darunter etwa Finanzinstitute (Deutsche Bank, Goldman Sachs, PayPal), Medienkonzerne (Netflix), Tech-Firmen (Facebook, Google, Amazon, Microsoft, Dropbox) und Forschungseinrichtungen (NASA, das Deutsche Zentrum für Luft- und Raumfahrt oder Universitäten).

Kann man mit Python Geld verdienen?

Auf jeden Fall! Im Moment herrscht Goldgräberstimmung!

Im Gegensatz zu Java-Projekten sind Python-Projekte rarer gesät, allerdings werden es immer mehr.

Natürlich ist Java immer noch die 0815-Allzweckwaffe, wenn es um Programmierung geht, aber besonders in der Forschung wird verstärkt auf Python gesetzt. Da Python flexibel ist und einfach zu erlernen, gibt es hier viele interessante Projekte zum Thema Künstliche Intelligenz, Machine Learning, aber auch Data Science und Statistik. Da die Schnittmenge dieser Verfahren mit Business-Intelligence-Anwendungen groß ist, kommt Python auch in der freien Wirtschaft zum Einsatz.

Auch der Computerspielemarkt ist in den letzten Jahren zu einer Milliarden-Dollar-Industrie geworden und Python wird oft als Skriptsprache für Computerspiele eingesetzt; auch manche CAD-Anwendungen nutzen Python zur Automatisierung.

Wenn Firmen auch oft nicht ihr Kerngeschäft mit Python erledigen, so wird in Job-Angeboten und Ausschreibungen Python oft als zusätzlich gewünschte Qualifikation aufgeführt. Es gibt also genug für Python-Programmierende zu tun und der Einstieg oder sogar Umstieg lohnt sich.

Sowohl Horst als auch Johannes haben bisher in größeren und kleineren Firmen mit Python gearbeitet und ihren Lebensunterhalt mit Python verdient. Dabei waren Projekte für Verlage, Universitäten, Medienkonzerne, Verbraucherportale und viele weitere.

Was kann ich mit Python machen?

Python ist nicht nur geeignet, um abstrakte Parser für domänenspezifische Sprachen oder Webseiten zu bauen, sondern befähigt Sie genauso gut, in Echtzeitanwendungen Sicherheitslücken einzubauen, indem Sie den Speicher einfach selber verwalten (nur weil es geht, heißt das nicht, dass Sie das tun sollten – aber es geht). Python ist unglaublich vielseitig!

Sollte ich nicht doch lieber eine andere Sprache lernen?

Es spricht nichts dagegen, wenn Sie sich andere Sprachen angucken – das empfehlen wir sogar. Auch dazu finden Sie Ausgaben in der »Für Dummies«-Serie, zum Beispiel »JavaScript für Dummies« von Andy Harris. Nun jedoch, wo Sie das Python-Buch schon in der Hand haben, empfehlen wir Ihnen natürlich, erst mal mit Python anzufangen.

Kapitel 2

Im Kriechgang – die Installation

IN DIESEM KAPITEL

Die Installation für Windows, macOS und LinuxDigitale Schlangenbeschwörung: Python zum Laufen bringenEin Kapitel zum Überspringen

Bevor es losgehen kann, brauchen Sie erst einmal Python. Unter Windows und macOS ist der einfachste Weg, das Installationsprogramm auf der offiziellen Webseite herunterzuladen. Dieser Weg steht auch Linux-Nutzern offen, aber diese verwenden wohl lieber einen Paketmanager.

Bitte installieren Sie die neuste Version von Python, mindestens Version 3.8. Wenn Sie dieses Buch in Händen halten (nach dem 1. Januar 2020), wird Python 2 nicht mehr mit Updates versorgt. Ignorieren Sie bitte alles, was Sie zu Python 2 im Internet finden.

Weil dieses Buch vor allem für Umsteiger geschrieben wurde, gehen wir eigentlich davon aus, dass Sie schon wissen, wie Sie Programme auf Ihrem Betriebssystem installieren. Sie können die folgenden Seiten daher überspringen (oder sie gleich herausreißen, sofern das Buch Ihnen gehört) und direkt mit Kapitel 3 unter Der Schlange Beine machen – Python ausführen weitermachen.

Windows

Die Installation unter Windows ist denkbar einfach: Laden Sie den Installer herunter und führen Sie ihn aus. Während der Installation müssen Sie lediglich ein paar Einstellungen vornehmen, die in diesem Abschnitt erklärt werden.

Schritt 1 – Herunterladen

Navigieren Sie ihren Lieblingsbrowser auf die offizielle Webseite https://python.org. Aktuell sieht die Webseite aus wie in Abbildung 2.1. Der Menüeintrag DOWNLOADS klappt beim Überfahren mit der Maus ein Untermenü aus.

Abbildung 2.1: Alle Downloads finden Sie auf der offiziellen Seite

Ein voreiliger Klick auf den großen, grauen Button lädt Python für 32-Bit-Betriebssysteme herunter. Wir gehen davon aus, dass Sie die 64-Bit-Version wünschen – den Installer dafür finden Sie im Unterpunkt ALL RELEASES. Dort erscheint eine Tabelle, in der verschiedene Versionen aufgeführt sind. Wählen Sie die aktuelle Version (zurzeit ist das PYTHON 3.8.2). Ein Klick führt Sie auf eine weitere Seite. An deren Fuß finden Sie eine Tabelle. Wählen Sie den Eintrag WINDOWS X86-64 EXECUTABLE INSTALLER. Beim Download erkennen Sie das richtige Installationsprogramm an der Endung »amd64.exe«, wie Abbildung 2.2 zeigt.

Abbildung 2.2: Laden Sie die 64bit Version herunter

Schritt 2 – Installieren

Führen Sie den Installer aus. Sie werden mit dem Bildschirm aus Abbildung 2.3 begrüßt.

Abbildung 2.3: Wählen Sie CUSTOMIZE INSTALLATION

1. Häkchen setzen

Setzen Sie gleich auf der ersten Seite (am unteren Rand) die beiden Häkchen

INSTALL LAUNCHER FOR ALL USERS (RECOMMENDED)

ADD PYTHON 3.8 TO PATH

Der erste Haken sorgt dafür, dass Windows die Python-Installation an einem Ort lagert, den Sie gut im Explorer wiederfinden (etwa C:\Programme\Python38). Der zweite Haken ändert die Pfad-Variable, sodass Sie Python ohne Umwege von der Kommandozeile aus starten können. Wählen Sie danach bitte CUSTOMIZE INSTALLATION, um noch einige Anpassungen vorzunehmen.

2. Features auswählen

Auf der Seite namens OPTIONAL FEATURES erscheinen weitere Checkboxen, wie in Abbildung 2.4 zu sehen. Hier können Sie getrost alle Haken setzen. Unbedingt sollten Sie den Eintrag PIP auswählen – das ist der Paketmanager, über den Sie später Software nachinstallieren können. Ein Klick auf NEXT bringt Sie Ihrem Ziel näher.

Abbildung 2.4: Auswahl der Features – Wählen Sie auch hier alle Häkchen aus!

3. Anpassungen vornehmen

Nun erscheint ein weiterer Dialogschritt, in dem Sie alle Zusatzoptionen auswählen können (Abbildung 2.5). Besonders wichtig ist der Eintrag ADD PYTHON TO ENVIRONMENT VARIABLES. Hier sollten Sie einen Haken setzen, damit Sie Python komfortabel von der Kommandozeile aus starten können. Klicken Sie abschließend auf INSTALL.

Abbildung 2.5: Erweiterte Optionen – Wählen Sie alle Häkchen aus!

4. Installieren

Die Installation dauert einige Minuten, die Ihnen ein Ladebalken versüßt (so einer wie in Abbildung 2.6). Um die Wartezeit zu überbrücken, empfehlen wir das Vorbereiten von Steuerunterlagen oder nachdenkliches Starren auf einen Punkt circa 350 Meter hinter Ihrem Monitor.

Achten Sie währenddessen auf die Taskleiste. Da die Installation Administratorrechte erfordert, wird die Nutzerkontrolle (UAC, User Account Control) Sie darum bitten, sich einzuloggen. Das geschieht in einem separaten Fenster, das aufgeht, sobald Sie den INSTALL-Button betätigen.

Abbildung 2.6: Gehen Sie mit dem Hund raus!

5. Fertig

Nach der Installation erscheint noch das Fenster SETUP WAS SUCCESSFUL. Ein Klick auf CLOSE beendet die Installation.

Schritt 3 – Läuft's?

Um zu testen, ob die Installation geklappt hat, öffnen Sie eine Kommandozeile. Drücken Sie die Windowstaste und gleichzeitig. Im folgenden Dialog geben Sie cmd ein. Dadurch öffnet sich ein Konsolenfenster. Statt »cmd« können Sie auch PowerShell öffnen.

Sie können auch im Startmenü nach »Eingabeaufforderung« suchen. Unter Windows 10 öffnen Sie das Startmenü und tippen einfach drauf los.

Geben Sie python --version ein. Daraufhin sollte die richtige Version ausgegeben werden:

Das hat geklappt. Sie sind bereit!

Unter Windows sieht die Kommandozeile eigentlich aus wie hier gezeigt. Im Buch verwenden wir dagegen durchgängig die normalisierte Schreibweise ($kommando).

macOS

Unter macOS gibt es mehrere Wege, um an Python zu kommen. Der einfachste Weg verläuft genau wie unter Windows – Sie verwenden den Installer von der Webseite. Alternativ kann man Python auch mithilfe des Paketmanagers Homebrew installieren.

Schritt 1 – Herunterladen

Auch die Installation auf Apple-Systemen beginnt auf der offiziellen Python-Webseite unter https://www.python.org/. Laden Sie dort den Installer für Ihre Architektur herunter. Diesen finden Sie auf der Startseite unter DOWNLOADS im Unterpunkt unter MAC OS X. Wenn Sie dem Eintrag LATEST PYTHON 3 RELEASE ... folgen, finden Sie auf der folgenden Seite unten eine Tabelle mit Installationsprogrammen, dort nehmen Sie den MACOS 64-BIT INSTALLER (Abbildung 2.7).

Abbildung 2.7: Laden Sie den Installer herunter!

Schritt 2 – Installieren

Nach dem Herunterladen führen Sie den Installer aus.

1. Einführung

Lassen Sie sich vom Assistenten durch den Installationsprozess führen. Der heißt Sie zuerst willkommen, wie in Abbildung 2.8 dargestellt.

Abbildung 2.8: Willkommen!

2. Gelassenheit üben

Nehmen Sie sich etwas Zeit, um die Schritte BITTE LESEN und LIZENZ zu ignorieren und durch Klicken auf FORTFAHREN zu überspringen. Sie können natürlich auch die Lizenz vollständig studieren und sich anschließend gegen die Nutzung von Python entscheiden – dieses Buch ist auch ein prima Monitorständer.

3. Ziel auswählen

Investieren Sie die gewonnene Zeit lieber in die Entscheidung darüber, wohin das Ganze installiert werden soll. Unter ZIELVOLUME AUSWäHLEN klicken Sie auf die Festplatte, auf der Sie Python installieren möchten.

4. Installation anpassen

Im Schritt INSTALLATIONSTYP, der so aussieht wie in Abbildung 2.9, sollten Sie noch einige Einstellungen vornehmen, indem Sie auf ANPASSEN klicken.

Abbildung 2.9: Anpassen!

Im Bildschirm »Angepasste Installation« (Abbildung 2.10) haben Sie einige Checkboxen zur Auswahl:

PYTHON FRAMEWORK

(das können Sie eh nicht abwählen)

GUI APPLICATIONS

(dann bekommen sie den IDLE-Editor gleich mit dazu)

UNIX COMMAND-LINE TOOLS

(Installiert einige Unix-Tools)

PYTHON DOCUMENTATION

(Lesematerial für später)

SHELL PROFILE UPDATER

(um das neue Python vom Terminal aus aufzurufen)

INSTALL OR UPGRADE PIP

(Das ist Pythons Paketmanager, den brauchen Sie unbedingt!)

Wählen Sie alle aus (das sollte standardmäßig der Fall sein), aber befassen Sie sich kurz mit den einzelnen Punkten und entscheiden Sie, ob diese für Ihr System passen.

Abbildung 2.10: Wählen Sie alle Pakete aus!

5. Existenzielle Einsamkeit aushalten

Als Lohn für Ihre Klickmühen erhalten Sie einen Ladebalken und müssen kurz auf die Übertragung der Dateien warten – eine gute Gelegenheit, Geschirr in die Küche zu bringen. Sofern Sie eine Webcam installiert haben, können Sie nebenher das Programm »Photo Booth« starten und Ihr Antlitz im Auge behalten. Wenn Sie während der Dateiübertragung sichtbar altern, sollten Sie über die Anschaffung einer SSD nachdenken.

6. Fertig

Wenn alles geklappt hat, bekommen Sie einen Bildschirm wie in Abbildung 2.11.

Achtung, schließen Sie nicht einfach den Installer, sondern lesen Sie die Informationen im Textfenster! Eventuell fehlen Ihnen (wie in Abbildung 2.11 gezeigt) einige SSL-Zertifikate, die Sie zum Absichern von bestimmten Netzwerkverbindungen benötigen. Folgen Sie bitte auch den zusätzlichen Anweisungen des Installers – diese können für Ihr System etwas anders ausfallen.

Wenn Sie am Ende auf SCHLIESSEN klicken, werden Sie noch gefragt, ob der Installer weg kann. Kann er.

Abbildung 2.11: Fertig!

Schritt 3 – Läuft's?

Wenn Sie alles installiert haben, sollten Sie im Terminal Python ausführen können:

Wenn die Versionsnummer erscheint, ist Ihre Installation fertig.

Top! Sie sind bereit!

Alternative: Homebrew

Für erfahrene Nutzer gibt es zusätzlich die Option, Python mithilfe des Paketmanagers Homebrew zu installieren. Sollten Sie diesen noch nicht installiert haben, können Sie ihn vom Terminal aus so installieren:

Durch diesen Befehl wird der Paketmanager installiert. Danach installieren Sie Python:

Testen Sie bitte danach, welche Version aktuell ist. Der Befehl python --version sollte die neuste Python-Version ausgeben, die Sie mit Homebrew installiert haben.

Der Befehl python3 --version sollte die gleiche Ausgabe bewirken. Falls nicht, müssen Sie eventuell Ihren Pfad anpassen, zum Beispiel mit

Das sollte für macOS Catalina klappen, wo standardmäßig die Z-Shell verwendet wird. Nutzen Sie stattdessen bash, schreiben sie es in die Datei ˜/.bashrc. Nutzen Sie etwas ganz anderes, schreiben Sie es in die entsprechende Konfigurationsdatei.

Linux

Linux-Distributionen gibt es in allen Farben und Dialekten. Obwohl wir uns der Unterschiede zwischen den Distributionen, etwa Unix, Linux und GNU/Linux, und auch der Debatte um die Namensgebung bewusst sind (https://de.wikipedia.org/wiki/GNU/Linux-Namensstreit), subsumieren wir Betriebssysteme wie RHEL/CentOS, Debian, Ubuntu, FreeBSD, OpenBSD und Co. unter dem Begriff Linux. Der Begriff Linux meint im Buch also freie, Unix-ähnliche Mehrbenutzer-Betriebssysteme, meist mit Linux-Kernel, die sich vor allem von Windows und macOS unterscheiden.

Unter Linux gibt es mehrere Wege, um Python zu installieren:

Sie laden ein Paket von der offiziellen Webseite

Sie nutzen den Paketmanager Ihrer Distribution

Sie kompilieren Ihre eigenen Binarys

Sie lehnen sich zurück und grinsen entspannt, weil Ihre Distro Python mitbringt

Um nicht auf alle Eigenschaften und Eigentümlichkeiten der verschiedenen Distributionen eingehen zu müssen, beschränken wir uns auf Ubuntu-Linux, weil es einsteigerfreundlich, sehr verbreitet und gut dokumentiert ist. Trotzdem sollen sich Nutzer anderer Distributionen natürlich auch angesprochen fühlen.

Bei vielen Distributionen ist eine Python-Installation im Standardumfang enthalten. Ein frisch installiertes Ubuntu in der Version 18.04 LTS zum Beispiel bringt Python 3.6 mit. Geben Sie einfach auf einem Terminal-Emulator Ihrer Wahl den entsprechenden Befehl ein:

Freundlicherweise weist Ubuntu darauf hin, dass der korrekte Befehl python3 lautet.

Die meisten Linuxe werden mit einer Installation von Python ausgeliefert, diese entspricht allerdings nicht immer der allerneusten Version.

Falls Sie eine Versionsnummer kleiner als Python 3.8 installiert haben oder der Befehl $ python3 --version einen Fehler ausgibt, müssen Sie Python 3.8 nachinstallieren. Verwenden Sie am Besten den Paketmanager über die Kommandozeile. Für Installationen brauchen Sie in aller Regel Root-Rechte.

Nicht alle Linux-Distributionen liefern immer frische Pakete aus. Ende 2019 ist die aktuellste Version 3.8.2. Selbst wenn Sie Python 3 schon installiert haben, sollten Sie sicherstellen, dass es auch die Version 3.8 ist, damit Sie keine Überraschungen erleben, wenn Sie den Code im Buch ausprobieren.

Einer für alle ...

Im Buch finden Sie hin und wieder Befehle, die auf einer Kommandozeile eingegeben werden. Um das anzuzeigen, wird durchgängig die folgende Form verwendet, wobei <command> für einen beliebigen Befehl steht:

Kommandozeilen gibt es wie Sand am Meer und alle verwenden einen unterschiedlichen Prompt. Wir können unmöglich wissen, ob Sie an einem macOS-, Windows- oder Linux-Rechner sitzen, ob Sie PowerShell, cmd, Bash, zsh oder etwas anderes verwenden. Im Buch werden Kommandozeilen immer durch ein $-Zeichen eingeleitet – das soll die Eingabeaufforderung der Bash andeuten, die zu den ältesten und bekanntesten Kommandozeileninterpretern gehört.

Außerdem gibt es mehrere Arten, Python zu installieren. Unter Windows und macOS etwa bekommen Sie python als ausführbaren Befehl. In älteren Linuxen wird oft python3 als Befehl verwendet, wenn gleichzeitig ein älteres Python 2 installiert ist. Damit es keine Verwirrung gibt, wird im Buch explizit die folgende Form verwendet:

Mit <python3> meinen wir stets Ihren Python-Interpreter in der neusten Version (3.8+), auch wenn er eventuell nicht genau so heißt.

Kapitel 3

Der Schlange Beine machen – Python ausführen

IN DIESEM KAPITEL

Los geht's!Die Qual der Wahl

Wenn Sie Python installieren, erhalten Sie einen Interpreter, der Ihren Python-Code ausführt. Diesen können Sie auf verschiedene Arten aktivieren:

Sie starten die Python-Konsole (den REPL)

Sie rufen

python

von der Kommandozeile mit einer Code-Datei auf

Sie nutzen eine IDE

Der REPL

Ein charmantes Feature von Python ist der sogenannte Read-Eval-Print-Loop, kurz REPL. Der REPL ist eine kleine Konsole, in der Sie Python-Code ausprobieren können:

Der REPL begrüßt Sie stets mit einer Eingabezeile, die durch drei Pfeile angedeutet wird: >>>. Sein Name ist Programm:

Ihre Eingaben werden

eingelesen

(read)

Sobald Sie drücken, wird der Code

ausgeführt

(execute)

Sofern der Code ein Ergebnis produziert hat, wird dieses unmittelbar

ausgegeben

(print)

Das Ganze geht von vorne los (loop)

Rufen Sie zum Schließen des REPL die Funktion exit() auf.

Wenn Sie im Buch Code-Blöcke sehen, die mit >>> anfangen, dann handelt es sich um einen Code-Schnipsel, den Sie am besten in einer REPL-Sitzung eingeben.

Praktisch am REPL ist, dass Sie sofort Feedback bekommen, ob der Code richtig war. Auch werden Ergebnisse von Berechnungen sofort wieder ausgegeben. Das ist unersetzlich, wenn Sie mal schnell Code ausprobieren möchten.

Das zuletzt erzeugte Ergebnis wird im REPL immer direkt ausgegeben. Sie können es danach noch weiterverarbeiten, denn es wird in einer Variablen namens _ zwischengespeichert.

Nachteilig am REPL ist, dass Sie nur in einer temporären Sitzung arbeiten. Sobald Sie die Sitzung beenden, ist Ihr Code verschwunden. Für längere Programme ist das nicht geeignet, schon gar nicht, wenn Sie diese wiederholt ausführen möchten. Es ist besser, Sie speichern Ihren Python-Code in einer Datei und bearbeiten diese in einem geeigneten Programm, etwa einem Editor oder einer IDE.

Es gibt noch andere Python-Konsolen, allerdings überlassen wir es Ihnen, diese eigenhändig zu installieren. Komfortabler als der Standard-REPL ist zum Beispiel die »IPython«-Shell. Unter Wissenschaftlern sind »Jupyter Notebooks« beliebt. Wir gehen nicht im Detail darauf ein, sondern konzentrieren uns auf den kleinsten gemeinsamen Nenner – der REPL ist bei jeder Installation dabei.

Editor oder IDE?

Zum schnellen Ausprobieren ist der REPL toll, aber sobald Sie mehr als drei Zeilen tippen, wird es unkomfortabel. Besser ist, wenn Sie Ihren Code in Dateien speichern und diese dann an den Interpreter übergeben, etwa so:

Die Python-Dateien können Sie mit Ihrem Lieblingseditor verarbeiten, etwa vim, Notepad++ oder Sublime Text. Diese Editoren müssen Sie separat installieren. Alternativ können Sie eine integrierte Entwicklungsumgebung (IDE) benutzen. Die meisten modernen IDEs unterstützen auch die Entwicklung mit Python. Zum Beispiel gibt es Microsoft Visual Studio Code oder PyCharm von JetBrains.

Der Vorteil von IDEs ist, dass diese bereits vorkonfiguriert sind und etwa das Ausführen von Python-Code durch einen einfachen Klick ermöglichen, allerdings müssen Sie sich ein bisschen an die Regeln der IDE halten. Reine Editoren sind etwas schneller und flexibler, aber Sie müssen sie erst an Ihre Bedürfnisse anpassen.

Die Qual der Wahl überlassen wir Ihnen. Wir ermutigen Sie, ein paar Programme auszuprobieren, bis Sie eines gefunden haben, das zu Ihnen passt. Wir selbst haben natürlich unsere Präferenzen. Horst mag sehr gerne Visual Studio Code. Für diesen Editor gibt es so viele Plug-ins, dass er sich fast wie eine IDE anfühlt. Johannes mag gerne Sublime Text, weil er dessen Flexibilität und Geschwindigkeit schätzt. Sowohl Horst als auch Johannes nutzen beim professionellen Arbeiten die IDE PyCharm, da diese alle wichtigen Entwicklerwerkzeuge integriert, wie zum Beispiel Git oder Werkzeuge zum Testen von Code.

Teil II

Python sprechen lernen

IN DIESEM TEIL …

Kleiner Python-Crash-KursSchlüsselwörter, Anweisungen, Ausdrücke und FunktionenEin Gefühl für die Sprache entwickelnLernen Sie intelligente Datenstrukturen kennenComprehensions: Pythons Syntax zur Daten-verarbeitungAus Programmen Kontakt zur Außenwelt aufnehmen

Kapitel 4

Hic forum est – Schnellkurs

IN DIESEM KAPITEL

Ihre ersten Worte»Artur est un perroquet«Die Sprache auf zwei Seiten

Hic forum est. Populus properat. Wer im Latein-Unterricht das Schulbuch »Felix« verwendet hat, wird sich möglicherweise sein Leben lang an diese ersten Sätze erinnern, auch wenn sie anfangs kryptisch erschienen. Der erste Eindruck bleibt also – und hier bekommen Sie Ihren ersten Eindruck von Python, der sich hoffentlich ebenso einbrennt.

Johannes erhebt allerdings Einspruch – wenn Sie, wie er, Französisch hatten, lautete der erste Satz wohl eher »Arthur est un perroquet«.