Description: 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 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
Price: 55.33 USD
Location: East Hanover, New Jersey
End Time: 2024-11-29T07:44:17.000Z
Shipping Cost: 0 USD
Product Images
Item Specifics
Return shipping will be paid by: Buyer
All returns accepted: Returns Accepted
Item must be returned within: 60 Days
Refund will be given as: Money Back
Return policy details:
EAN: 9781493223022
UPC: 9781493223022
ISBN: 9781493223022
MPN: N/A
Book Title: Python 3: The Comprehensive Guide by Ernesti, Joha
Item Weight: 1.36 kg
Number of Pages: 1036 Pages
Publication Name: Python 3 : the Comprehensive Guide
Language: English
Publisher: Rheinwerk Publishing Inc.
Subject: General
Item Height: 2 in
Publication Year: 2022
Type: Textbook
Item Length: 10 in
Author: Peter Kaiser, Johannes Ernesti
Subject Area: Computers, Technology & Engineering
Item Width: 7 in
Format: Trade Paperback