Ernesti / Kaiser | Python 3 | Buch | 978-1-4932-2302-2 | sack.de

Buch, Englisch, 1036 Seiten, Format (B × H): 182 mm x 257 mm, Gewicht: 1774 g

Reihe: Rheinwerk Computing

Ernesti / Kaiser

Python 3

The Comprehensive Guide

Buch, Englisch, 1036 Seiten, Format (B × H): 182 mm x 257 mm, Gewicht: 1774 g

Reihe: Rheinwerk Computing

ISBN: 978-1-4932-2302-2
Verlag: Rheinwerk Verlag GmbH


Ready to master Python? Learn to write effective code, whether you’re a beginner or a professional programmer. Review core Python concepts, including functions, modularization, and object orientation and walk through the available data types. Then dive into more advanced topics, such as using Django and working with GUIs. With plenty of code examples throughout, this hands-on reference guide has everything you need to become proficient in Python!

Highlights include:

1) Functions
2) Methods
3) Attributes
4) Data types
5) GUIs
6) Debugging
7) Network communication
8) Modularization
9) Object orientation
10) Iterators
11) Generators
12) Exception handling
Ernesti / Kaiser Python 3 jetzt bestellen!

Weitere Infos & Material


1. Introduction. 33

1.1. Why Did We Write This Book?. 33

1.2. What Does This Book Provide?. 34

1.3. Structure of the Book. 34

1.4. How Should You Read This Book?. 35

1.5. Sample Programs. 36

1.6. Preface To the First English Edition (2022). 36

1.7. Acknowledgments. 37

2. The Python Programming Language. 39

2.1. History, Concepts, and Areas of Application. 39

2.2. Installing Python. 42

2.3. Installing Third-Party Modules. 45

2.4. Using Python. 45

PART I. Getting Started with Python. 47

3. Getting Started with the Interactive Mode. 49

3.1. Integers. 49

3.2. Floats. 51

3.3. Character Strings. 51

3.4. Lists. 52

3.5. Dictionaries. 53

3.6. Variables. 54

3.7. Logical Expressions. 55

3.8. Functions and Methods. 57

3.9. Screen Outputs. 59

3.10. Modules. 60

4. The Path to the First Program. 63

4.1. Typing, Compiling, and Testing. 63

4.2. Basic Structure of a Python Program. 66

4.3. The First Program. 70

4.4. Comments. 72

4.5. In Case of Error. 72

5. Control Structures. 75

5.1. Conditionals. 75

5.2. Loops. 79

5.3. The pass Statement. 87

5.4. Assignment Expressions. 87

6. Files. 91

6.1. Data Streams. 91

6.2. Reading Data from a File. 92

6.3. Writing Data to a File. 96

6.4. Generating the File Object. 97

7. The Data Model. 103

7.1. The Structure of Instances. 105

7.2. Deleting References. 109

7.3. Mutable versus Immutable Data Types. 111

8. Functions, Methods, and Attributes. 115

8.1. Parameters of Functions and Methods. 115

8.2. Attributes. 118

9. Sources of Information on Python. 119

9.1. The Built-In Help Function. 119

9.2. The Online Documentation. 120

9.3. PEPs. 120

PART II. Data Types. 123

10. Basic Data Types: An Overview. 125

10.1. Nothingness: NoneType. 126

10.2. Operators. 127

11. Numeric Data Types. 131

11.1. Arithmetic Operators. 131

11.2. Comparison Operators. 133

11.3. Conversion between Numeric Data Types. 134

11.4. Integers: int. 135

11.5. Floats: float. 141

11.6. Boolean Values: bool. 144

11.7. Complex Numbers: complex. 149

12. Sequential Data Types. 153

12.1. The Difference between Text and Binary Data. 153

12.2. Operations on Instances of Sequential Data Types. 154

12.3. The list Data Type. 166

12.4. Immutable Lists: tuple. 179

12.5. Strings: str, bytes, bytearray. 182

13. Mappings and Sets. 215

13.1. Dictionary: dict. 215

13.2. Sets: set and frozenset. 227

14. Collections. 239

14.1. Chained Dictionaries. 239

14.2. Counting Frequencies. 240

14.3. Dictionaries with Default Values. 242

14.4. Doubly Linked Lists. 243

14.5. Named Tuples. 245

15. Date and Time. 247

15.1. Elementary Time Functions—time. 247

15.2. Object-Oriented Date Management: datetime. 254

15.3. Time Zones: zoneinfo. 263

16. Enumerations and Flags. 269

16.1. Enumeration Types: enum. 269

16.2. Enumeration Types for Bit Patterns: flag. 271

16.3. Integer Enumeration Types: IntEnum. 272

PART III. Advanced Programming Techniques. 275

17. Functions. 277

17.1. Defining a Function. 278

17.2. Return Values. 280

17.3. Function Objects. 282

17.4. Optional Parameters. 282

17.5. Keyword Arguments. 283

17.6. Arbitrarily Many Parameters. 284

17.7. Keyword-Only Parameters. 286

17.8. Positional-Only Parameters. 287

17.9. Unpacking When Calling a Function. 288

17.10. Side Effects. 290

17.11. Namespaces. 293

17.12. Anonymous Functions. 299

17.13. Recursion. 300

17.14. Built-In Functions. 300

18. Modules and Packages. 325

18.1. Importing Global Modules. 326

18.2. Local Modules. 328

18.3. Packages. 331

18.4. The importlib Package. 335

18.5. Planned Language Elements. 338

19. Object-Oriented Programming. 341

19.1. Example: A Non-Object-Oriented Account. 341

19.2. Classes. 346

19.3. Inheritance. 351

19.4. Multiple Inheritance. 363

19.5. Property Attributes. 365

19.6. Static Methods. 367

19.7. Class Methods. 369

19.8. Class Attributes. 370

19.9. Built-in Functions for Object-Oriented Programming. 370

19.10. Inheriting Built-In Data Types. 373

19.11. Magic Methods and Magic Attributes. 375

19.12. Data Classes. 393

20. Exception Handling. 399

20.1. Exceptions. 399

20.2. Assertions. 411

20.3. Warnings. 412

21. Generators and Iterators. 415

21.1. Generators. 415

21.2. Iterators. 422

21.3. Special Generators: itertools. 432

22. Context Manager. 441

22.1. The with Statement. 441

22.2. Helper Functions for with Contexts: contextlib. 444

23. Decorators. 449

23.1. Function Decorators. 449

23.2. Class Decorators. 454

23.3. The functools Module. 455

24. Annotations for Static Type Checking. 463

24.1. Annotations. 464

24.2. Type Hints: The typing Module. 471

24.3. Static Type Checking in Python: mypy. 476

25. Structural Pattern Matching. 479

25.1. The match Statement. 479

25.2. Pattern Types in the case Statement. 480

PART IV. The Standard Library. 495

26. Mathematics. 497

26.1. Mathematical Functions: math, cmath. 497

26.2. Random Number Generator: random. 503

26.3. Statistical Calculations: statistics. 507

26.4. Intuitive Decimal Numbers: decimal. 509

26.5. Hash Functions: hashlib. 514

27. Screen Outputs and Logging. 521

27.1. Formatted Output of Complex Objects: pprint. 521

27.2. Log Files: logging. 523

28. Regular Expressions. 529

28.1. Syntax of Regular Expressions. 529

28.2. Using the re Module. 539

28.3. A Simple Sample Program: Searching. 546

28.4. A More Complex Sample Program: Matching. 547

28.5. Comments in Regular Expressions. 550

29. Interface to Operating System and Runtime Environment. 553

29.1. Operating System Functionality: os. 553

29.2. Accessing the Runtime Environment: sys. 555

29.3. Command Line Parameters: argparse. 561

30. File System. 569

30.1. Accessing the File System: os. 569

30.2. File Paths: os.path. 575

30.3. Accessing the File System: shutil. 579

30.4. Temporary Files: tempfile. 585

31. Parallel Programming. 587

31.1. Processes, Multitasking, and Threads. 587

31.2. Python's Interfaces for Parallelization. 591

31.3. The Abstract Interface: concurrent.futures. 592

31.4. The Flexible Interface: threading and multiprocessing. 602

31.5. Cooperative Multitasking. 613

31.6. Conclusion: Which Interface Is the Right One?. 629

32. Data Storage. 631

32.1. XML. 631

32.2. Databases. 643

32.3. Compressed Files and Archives. 661

32.4. Serializing Instances: pickle. 662

32.5. The JSON Data Exchange Format: json. 665

32.6. The CSV Table Format: csv. 667

33. Network Communication. 673

33.1. Socket API. 674

33.2. XML-RPC. 690

34. Accessing Resources on the Internet. 701

34.1. Protocols. 701

34.2. Solutions. 702

34.3. The Easy Way: requests. 703

34.4. URLs: urllib. 705

34.5. FTP: ftplib. 713

35. Email. 721

35.1. SMTP: smtplib. 721

35.2. POP3: poplib. 724

35.3. IMAP4: imaplib. 728

35.4. Creating Complex Emails: email. 734

36. Debugging and Quality Assurance. 739

36.1. The Debugger. 739

36.2. Automated Testing. 741

36.3. Analyzing the Runtime Performance. 749

37. Documentation. 759

37.1. Docstrings. 759

37.2. Automatically Generated Documentation: pydoc. 761

PART V. Advanced Topics. 763

38. Distributing Python Projects. 765

38.1. A History of Distributions in Python. 765

38.2. Creating Distributions: setuptools. 767

38.3. Creating EXE files: cx_Freeze. 775

38.4. Package Manager. 776

38.5. Localizing Programs: gettext. 781

39. Virtual Environments. 785

39.1. Using Virtual Environments: venv. 786

39.2. Virtual Environments in Anaconda. 787

40. Alternative Interpreters and Compilers. 789

40.1. Just-in-Time Compilation: PyPy. 789

40.2. Numba. 790

40.3. Connecting to C and C++: Cython. 793

40.4. The Interactive Python Shell: IPython. 799

41. Graphical User Interfaces. 805

41.1. Toolkits. 805

41.2. Introduction to tkinter. 807

41.3. Introduction to PySide6. 850

41.4. Signals and Slots. 859

41.5. Important Widgets. 861

41.6. Drawing Functionality. 868

41.7. Model-View Architecture. 879

42. Python as a Server-Side Programming Language on the Web: An Introduction to Django. 893

42.1. Concepts and Features of Django. 894

42.2. Installing Django. 895

42.3. Creating a New Django Project. 896

42.4. Creating an Application. 900

43. Scientific Computing and Data Science. 935

43.1. Installation. 936

43.2. The Model Program. 936

43.3. Overview of the numpy and scipy Modules. 944

43.4. An Introduction to Data Analysis with pandas. 953

44. Inside Knowledge. 969

44.1. Opening URLs in the Default Browser: webbrowser. 969

44.2. Interpreting Binary Data: struct. 969

44.3. Hidden Password Entry. 971

44.4. Command Line Interpreter. 972

44.5. File Interface for Strings: io.StringIO. 975

44.6. Generators as Consumers. 976

44.7. Copying Instances: copy. 981

44.8. Image Processing: Pillow. 984

45. From Python 2 to Python 3. 993

45.1. The Main Differences. 996

45.2. Automatic Conversion. 1001

. Appendices. 1005

A. Appendix. 1005

B. The Authors. 1017

. Index. 1019


Ihre Fragen, Wünsche oder Anmerkungen
Vorname*
Nachname*
Ihre E-Mail-Adresse*
Kundennr.
Ihre Nachricht*
Lediglich mit * gekennzeichnete Felder sind Pflichtfelder.
Wenn Sie die im Kontaktformular eingegebenen Daten durch Klick auf den nachfolgenden Button übersenden, erklären Sie sich damit einverstanden, dass wir Ihr Angaben für die Beantwortung Ihrer Anfrage verwenden. Selbstverständlich werden Ihre Daten vertraulich behandelt und nicht an Dritte weitergegeben. Sie können der Verwendung Ihrer Daten jederzeit widersprechen. Das Datenhandling bei Sack Fachmedien erklären wir Ihnen in unserer Datenschutzerklärung.