Lutz, M. (2010) Python Pocket Reference (Pocket Reference (O’Reilly)), Fourth Edition, O’Reilly Media, Inc.
A more recent edition of this book is available
Download eBook PDF (PDF 2,594KB)
This is the book to reach for when you’re coding on the fly and need an answer now. It’s an easy-to-use reference to the core language, with descriptions of commonly used modules and toolkits, and a guide to recent changes, new features, and upgraded built-ins — all updated to cover Python 3.X as well as version 2.6. You’ll also quickly find exactly what you need with the handy index.
Written by Mark Lutz — widely recognized as the world’s leading Python trainer — Python Pocket Reference, Fourth Edition, is the perfect companion to O’Reilly’s classic Python tutorials, also written by Mark: Learning Python and Programming Python.
- Built-in object types, including numbers, lists, dictionaries, and more
- Statements and syntax for creating and processing objects
- Functions and modules for structuring and reusing code
- Python’s object-oriented programming tools
- The exception-handling model
- Built-in functions, exceptions, and attributes
- Special operator overloading methods
- Widely used standard library modules and extensions
- Command-line options and development tools
- Python idioms and hints
- Chapter 1 Python Pocket Reference
- Introduction
- Conventions
- Using Code Examples
- Safari® Books Online
- Command-Line Options
- Environment Variables
- Built-in Types and Operators
- Specific Built-in Types
- Statements and Syntax
- Specific Statements
- Namespace and Scope Rules
- Object-Oriented Programming
- Operator Overloading Methods
- Built-in Functions
- Built-in Exceptions
- Built-in Attributes
- Standard Library Modules
- The sys Module
- The string Module
- The os System Module
- The re Pattern-Matching Module
- Object Persistence Modules
- The tkinter GUI Module and Tools
- Internet Modules and Tools
- Other Standard Library Modules
- Python Portable SQL Database API
- Python Idioms and Hints
Cassell, L. and Gauld, A. (2015) Python Projects, John Wiley & Sons, Inc.
Download eBook PDF (PDF 10,297KB)
Download Source Code from: http://eu.wiley.com/WileyCDA/WileyTitle/productCd-111890866X.html
Download Source Code: Chapter 1 (ZIP 6KB), Chapter 2 (ZIP 23KB), Chapter 3 (ZIP 16KB), Chapter 4 (ZIP 47KB), Chapter 5 (ZIP 9KB), Chapter 6 (ZIP 3KB)
Companion Web Site: http://learning-python.com/books/
A guide to completing Python projects for those ready to take their skills to the next level
Python Projects is the ultimate resource for the Python programmer with basic skills who is ready to move beyond tutorials and start building projects.
The preeminent guide to bridge the gap between learning and doing, this book walks readers through the “where” and “how” of real–world Python programming with practical, actionable instruction. With a focus on real–world functionality, Python Projects details the ways that Python can be used to complete daily tasks and bring efficiency to businesses and individuals alike.
Python Projects is written specifically for those who know the Python syntax and lay of the land, but may still be intimidated by larger, more complex projects. The book provides a walk–through of the basic set–up for an application and the building and packaging for a library, and explains in detail the functionalities related to the projects.
Topics include:
∗How to maximize the power of the standard library modules
∗Where to get third party libraries, and the best practices for utilization
∗Creating, packaging, and reusing libraries within and across projects
∗Building multi–layered functionality including networks, data, and user interfaces
∗Setting up development environments and using virtualenv, pip, and more
Written by veteran Python trainers, the book is structured for easy navigation and logical progression that makes it ideal for individual, classroom, or corporate training.
For Python developers looking to apply their skills to real–world challenges, Python Projects is a goldmine of information and expert insight.
Table of Contents
INTRODUCTION
CHAPTER 1: REVIEWING CORE PYTHON
Exploring the Python Language and the Interpreter
Reviewing the Python Data Types
Numeric Types: Integer and Float
The Boolean Type
The None Type
Collection Types
Strings
Bytes and ByteArrays
Tuples
Lists
Dictionaries
Sets
Using Python Control Structures
Structuring Your Program
Using Sequences, Blocks and Comments
Selecting an Execution Path
Iteration
Handling Exceptions
Managing Context
Getting Data In and Out of Python
Interacting with Users
Using Text Files
Extending Python
Defining and Using Functions
Generator Functions
Lambda Functions
Defining and Using Classes and Objects
Creating and Using Modules and Packages
Using and Creating Modules
Using and Creating Packages
Creating an Example Package
Using Third?]Party Packages
Summary
CHAPTER 2: SCRIPTING WITH PYTHON
Accessing the Operating System
Obtaining Information About Users and Their Computer
Obtaining Information About the Current Process
Managing Other Programs
Managing Subprocesses More Effectively
Obtaining Information About Files (and Devices)
Navigating and Manipulating the File system
Plumbing the Directory Tree Depths
Working with Dates and Times
Using the time Module
Introducing the datetime Module
Introducing the calendar Module
Handling Common File Formats
Using Comma?]Separated Values
Working with Config Files
Working with XML and HTML Files
Parsing XML Files
Parsing HTML Files
Accessing Native APIs with ctypes and pywin32
Accessing the Operating System Libraries
Using ctypes with Windows
Using ctypes on Linux
Accessing a Windows Application Using COM
Automating Tasks Involving Multiple Applications
Using Python First
Using Operating System Utilities
Using Data Files
Using a Third?]Party Module
Interacting with Subprocesses via a CLI
Using Web Services for Server?]Based Applications
Using a Native Code API
Using GUI Robotics
Summary
CHAPTER 3: MANAGING DATA
Storing Data Using Python
Using DBM as a Persistent Dictionary
Using Pickle to Store and Retrieve Objects
Accessing Objects with shelve
Analyzing Data with Python
Analyzing Data Using Built?]In Features of Python
Analyzing Data with ittertools
Utility Functions
Data Processing Functions
Taming the Vagaries of groupby()
Using itertools to Analyze LendyDB Data
Managing Data Using SQL
Relational Database Concepts
Structured Query Language
Creating Tables
Inserting Data
Reading Data
Modifying Data
Linking Data Across Tables
Digging Deeper into Data Constraints
Revisiting SQLite Field Types
Modeling Relationships with Constraints
Many?]to?]Many Relationships
Migrating LendyDB to an SQL Database
Accessing SQL from Python
Using SQL Connections
Using a Cursor
Creating the LendyDB SQL Database
Inserting Test Data
Creating a LendyDB API
Exploring Other Data Management Options
Client?]Server Databases
NoSQL
The Cloud
Data Analysis with RPy
Summary
CHAPTER 4: BUILDING DESKTOP APPLICATIONS
Structuring Applications
Building Command–Line Interfaces
Building the Data Layer
Building the Core Logic Layer
Building the User Interface
Using the cmd Module to Build a Command–Line Interface
Reading Command–Line Arguments
Jazzing Up the Command–Line Interface with Some Dialogs
Programming GUIs with Tkinter
Introducing Key GUI Principles
Event?]Based Programming
GUI Terminology
The Containment Tree
Building a Simple GUI
Building a Tic?]Tac?]Toe GUI
Sketching a UI Design
Building Menus
Building a Tic?]Tac?]Toe Board
Connecting the GUI to the Game
Extending Tkinter
Using Tix
Using ttk
Revisiting the Lending Library
Exploring Other GUI Toolkits for Python
wxPython
PyQt
PyGTK
Native GUIs: Cocoa and PyWin32
Dabo
Storing Local Data
Storing Application?]Specifi c Data
Storing User?]Selected Preferences
Storing Application State
Logging Error information
Understanding Localization
Using Locales
Using Unicode in Python
Using gettext
Summary
CHAPTER 5: PYTHON ON THE WEB
Python on the Web
Parts of a Web Application
The Client?]Server Relationship
Middleware and MVC
HTTP Methods and Headers
What Is an API?
Web Programming with Python
Using the Python HTTP Modules
Creating an HTTP Server
Exploring the Flask Framework
Creating Data Models in Flask
Creating Core Flask Files
More on Python and the Web
Static Site Generators
Web Frameworks
Using Python Across the Wire
XML?]RPC
Socket Servers
More Networking Fun in Python
Summary
CHAPTER 6: PYTHON IN BIGGER PROJECTS
Testing with the Doctest Module
Testing with the Unittest Module
Test?]Driven Development in Python
Debugging Your Python Code
Handling Exceptions in Python
Working on Larger Python Projects
Releasing Python Packages
Summary
CHAPTER 7: EXPLORING PYTHON’S FRONTIERS
Drawing Pictures with Python
Using Turtle Graphics
Using GUI Canvas Objects
Plotting Data
Using imghdr
Introducing Pillow
Trying Out ImageMagick
Doing Science with Python
Introducing SciPy
Doing Bioscience with Python
Using GIS
Watching Your Language
Getting It All
Playing Games with Python
Enriching the Experience with PyGame
Exploring Other Options
Going to the Movies
The Computer Graphics Kit
Modeling and Animation
Photo Processing
Working with Audio
Integrating with Other Languages
Jython
IronPython
Cython
Tcl/Tk
Getting Physical
Introducing Serial Options
Programming the RaspberryPi
Talking to the Arduino
Exploring Other Options
Building Python
Fixing Bugs
Documenting
Testing
Adding Features
Attending Conferences
Summary
APPENDIX A: ANSWERS TO EXERCISES
Chapter 1 Solutions
Chapter 2 Solutions
Chapter 3 Solutions
Chapter 4 Solutions
Chapter 5 Solutions
Chapter 6 Solutions
Chapter 7 Solutions
APPENDIX B: PYTHON STANDARD MODULES
APPENDIX C: USEFUL PYTHON RESOURCES
Asking Questions: Mailing Lists and More
Reading Blogs
Studying Tutorials and References
Watching Videos
And Now for Something Completely Different…
Matthes, E. (2015) Python Crash Course – A Hands-On, Project-Based Introduction to Programming. No Starch Press
Download eBook PDF (PDF KB)
Download Source Code (ZIP KB)
Companion Web Site: https://ehmatthes.github.io/pcc/
Learn Python—Fast!
Python Crash Course is a fast-paced, thorough introduction to Python that will have you writing programs, solving problems, and making things that work in no time.
In the first half of the book, you’ll learn about basic programming concepts, such as lists, dictionaries, classes, and loops, and practice writing clean and readable code with exercises for each topic. You’ll also learn how to make your programs interactive and how to test your code safely before adding it to a project. In the second half of the book, you’ll put your new knowledge into practice with three substantial projects: a Space Invaders–inspired arcade game, data visualizations with Python’s super-handy libraries, and a simple web app you can deploy online.
As you work through Python Crash Course you’ll learn how to:
- Use powerful Python libraries and tools, including matplotlib, NumPy, and Pygal
- Make 2D games that respond to keypresses and mouse clicks, and that grow more difficult as the game progresses
- Work with data to generate interactive visualizations
- Create and customize Web apps and deploy them safely online
- Deal with mistakes and errors so you can solve your own programming problems
If you’ve been thinking seriously about digging into programming, Python Crash Course will get you up to speed and have you writing real programs fast. Why wait any longer? Start your engines and code!
Uses Python 2 and 3
Table of Contents
Introduction
PART I: Basics
Chapter 1: Getting Started
Chapter 2: Variables and Simple Data Types
Chapter 3: Introducing Lists
Chapter 4: Working with Lists
Chapter 5: if Statements
Chapter 6: Dictionaries
Chapter 7: User Input and while Loops
Chapter 8: Functions
Chapter 9: Classes
Chapter 10: Files and Exceptions
Chapter 11: Testing Your Code
PART II: Projects
Project 1: Alien Invasion
Chapter 12: A Ship that Fires Bullets
Chapter 13: Aliens!
Chapter 14: Scoring
Project 2: Data Visualization
Chapter 15: Generating Data
Chapter 16: Downloading Data
Chapter 17: Working with APIs
Project 3: Web Applications
Chapter 18: Getting Started with Django
Chapter 19: User Accounts
Chapter 20: Styling and Deploying an App
Afterword
Appendix A: Installing Python
Appendix B: Text Editors
Appendix C: Getting Help
Appendix D: Using Git for Version Control
Python Crash Course – Cheat Sheets
A cheat sheet can be really helpful when you’re trying a set of exercises related to a specific topic, or working on a project. Because you can only fit so much information on a single sheet of paper, most cheat sheets are a simple listing of syntax rules. This set of cheat sheets aims to remind you of syntax rules, but also remind you of important concepts as well.
You can download any individual cheat sheet, or download all the cheat sheets in one document.
- Beginner’s Python Cheat Sheet
- Provides an overview of the basics of Python including variables, lists, dictionaries, functions, classes, and more.
- Beginner’s Python Cheat Sheet – Lists
- Focuses on lists: how to build and modify a list, access elements from a list, and loop through the values in a list. Also covers numerical lists, list comprehensions, tuples, and more.
- Beginner’s Python Cheat Sheet – Dictionaries
- Focuses on dictionaries: how to build and modify a dictionary, access the information in a dictionary, and loop through dictionaries in a variety of ways. Includes sections on nesting lists and dictionaries, using an OrderedDict and more.
- Beginner’s Python Cheat Sheet – If Statements and While Loops
- Focuses on if statements and while loops: how to write conditional tests with strings and numerical data, how to write simple and complex if statements, and how to accept user input. Also covers a variety of approaches to using while loops.
- Beginner’s Python Cheat Sheet – Functions
- Focuses on functions: how to define a function and how to pass information to a function. Covers positional and keyword arguments, return values, passing lists, using modules, and more.
- Beginner’s Python Cheat Sheet – Classes
- Focuses on classes: how to define and use a class. Covers attributes and methods, inheritance and importing, and more.
- Beginner’s Python Cheat Sheet – Files and Exceptions
- Focuses on working with files, and using exceptions to handle errors that might arise as your programs run. Covers reading and writing to files, try-except-else blocks, and storing data using the json module.
- Beginner’s Python Cheat Sheet – Testing Your Code
- Focuses on unit tests and test cases. How to test a function, and how to test a class.
- Beginner’s Python Cheat Sheet – Pygame
- Focuses on creating games with Pygame. Creating a game window, rect objects, images, responding to keyboard and mouse input, groups, detecting collisions between game elements, and rendering text.
- Beginner’s Python Cheat Sheet – matplotlib
- Focuses on creating visualizations with matplotlib. Making line graphs and scatter plots, customizing plots, making multiple plots, and working with time-based data.
- Beginner’s Python Cheat Sheet – Pygal
- Focuses on creating visualizations with Pygal. Making line graphs, scatter plots, and bar graphs, styling plots, making multiple plots, and working with global datasets.
Briggs, J. R. (2012) Python for Kids – A Playful Introduction to Programming, No Starch Press
Download eBook PDF (PDF 14,131KB)
Download Source Code (ZIP 114KB)
Download Solutions to Programming Puzzles (PDF 1,528KB)
Companion Web Site: http://jasonrbriggs.com/python-for-kids/
Python is a powerful, expressive programming language that’s easy to learn and fun to use! But books about learning to program in Python can be kind of dull, gray, and boring, and that’s no fun for anyone.
Python for Kids brings Python to life and brings you (and your parents) into the world of programming. The ever-patient Jason R. Briggs will guide you through the basics as you experiment with unique (and often hilarious) example programs that feature ravenous monsters, secret agents, thieving ravens, and more. New terms are defined; code is colored, dissected, and explained; and quirky, full-color illustrations keep things on the lighter side.
Chapters end with programming puzzles designed to stretch your brain and strengthen your understanding. By the end of the book you’ll have programmed two complete games: a clone of the famous Pong and “Mr. Stick Man Races for the Exit”—a platform game with jumps, animation, and much more.
As you strike out on your programming adventure, you’ll learn how to:
- Use fundamental data structures like lists, tuples, and maps
- Organize and reuse your code with functions and modules
- Use control structures like loops and conditional statements
- Draw shapes and patterns with Python’s turtle module
- Create games, animations, and other graphical wonders with tkinter
Why should serious adults have all the fun? Python for Kids is your ticket into the amazing world of computer programming.
For kids ages 10+ (and their parents)
The code in this book runs on almost anything: Windows, Mac, Linux, even an OLPC laptop or Raspberry Pi!
Table of Contents
About the Author and Technical Reviewers
Acknowledgments
Introduction
Part I: Learning to Program
Chapter 1: Not All Snakes Slither
Chapter 2: Calculations and Variables
Chapter 3: Strings, Lists, Tuples, and Maps
Chapter 4: Drawing with Turtles
Chapter 5: Asking Questions with if and else
Chapter 6: Going Loopy
Chapter 7: Recycling Your Code with Functions and Modules
Chapter 8: How to Use Classes and Objects
Chapter 9: Python’s Built-In Functions
Chapter 10: Useful Python Modules
Chapter 11: More Turtle Graphics
Chapter 12: Using tkinter for Better Graphics
Part II: Bounce!
Chapter 13: Beginning Your First Game: Bounce!
Chapter 14: Finishing Your First Game: Bounce!
Part III: Mr. Stick Man Races for the Exit
Chapter 15: Creating Graphics for the Mr. Stick Man Game
Chapter 16: Developing the Mr. Stick Man Game
Chapter 17: Creating Mr. Stick Man
Chapter 18: Completing the Mr. Stick Man Game
Afterword: Where to Go from Here
Appendix: Python Keywords
Glossary