This textbook on Python 3 explains concepts such as variables and what they represent, how data is held in memory, how a for loop works and what a string is. It also introduces key concepts such as functions, modules and packages as well as object orientation and functional programming. Each section is prefaced with an introductory chapter, before continuing with how these ideas work in Python. Topics such as generators and coroutines are often misunderstood and these are explained in detail, whilst topics such as Referential Transparency, multiple inheritance and exception handling are presented using examples. A Beginners Guide to Python 3 Programming provides all you need to know about Python, with numerous examples provided throughout including several larger worked case studies illustrating the ideas presented in the previous chapters.
Author(s): John Hunt
Series: Undergraduate Topics In Computer Science
Publisher: Springer
Year: 2019
Language: English
Pages: 440
Tags: Programming Languages, Compilers, Interpreters, Python 3
Front Matter ....Pages i-xxvii
Introduction (John Hunt)....Pages 1-11
Setting Up the Python Environment (John Hunt)....Pages 13-22
A First Python Program (John Hunt)....Pages 23-31
Python Strings (John Hunt)....Pages 33-49
Numbers, Booleans and None (John Hunt)....Pages 51-64
Flow of Control Using If Statements (John Hunt)....Pages 65-73
Iteration/Looping (John Hunt)....Pages 75-85
Number Guessing Game (John Hunt)....Pages 87-97
Recursion (John Hunt)....Pages 99-106
Introduction to Structured Analysis (John Hunt)....Pages 107-116
Functions in Python (John Hunt)....Pages 117-131
Scope and Lifetime of Variables (John Hunt)....Pages 133-138
Implementing a Calculator Using Functions (John Hunt)....Pages 139-148
Introduction to Functional Programming (John Hunt)....Pages 149-155
Higher Order Functions (John Hunt)....Pages 157-166
Curried Functions (John Hunt)....Pages 167-173
Introduction to Object Orientation (John Hunt)....Pages 175-188
Python Classes (John Hunt)....Pages 189-204
Class Side and Static Behaviour (John Hunt)....Pages 205-209
Class Inheritance (John Hunt)....Pages 211-232
Why Bother with Object Orientation? (John Hunt)....Pages 233-239
Operator Overloading (John Hunt)....Pages 241-251
Python Properties (John Hunt)....Pages 253-261
Error and Exception Handling (John Hunt)....Pages 263-280
Python Modules and Packages (John Hunt)....Pages 281-297
Abstract Base Classes (John Hunt)....Pages 299-309
Protocols, Polymorphism and Descriptors (John Hunt)....Pages 311-323
Monkey Patching and Attribute Lookup (John Hunt)....Pages 325-336
Decorators (John Hunt)....Pages 337-351
Iterables, Iterators, Generators and Coroutines (John Hunt)....Pages 353-362
Collections, Tuples and Lists (John Hunt)....Pages 363-378
Sets (John Hunt)....Pages 379-387
Dictionaries (John Hunt)....Pages 389-400
Collection Related Modules (John Hunt)....Pages 401-406
ADTs, Queues and Stacks (John Hunt)....Pages 407-414
Map, Filter and Reduce (John Hunt)....Pages 415-421
TicTacToe Game (John Hunt)....Pages 423-433