Python for Everybody is designed to introduce students to programming and software development through the lens of exploring data. You can think of the Python programming language as your tool to solve data problems that are beyond the capability of a spreadsheet.Python is an easy to use and easy to learn programming language that is freely available on Macintosh, Windows, or Linux computers. So once you learn Python you can use it for the rest of your career without needing to purchase any software.This book uses the Python 3 language. The earlier Python 2 version of this book is titled "Python for Informatics: Exploring Information".There are free downloadable electronic copies of this book in various formats and supporting materials for the book at www.py4e.com. The course materials are available to you under a Creative Commons License so you can adapt them to teach your own Python course.
Printing History
• 2024-Jan-01 Update examples to Python 3.12
• 2023-Jun-29 Many errata included
• 2016-Jul-05 First Complete Python 3.0 version
• 2015-Dec-20 Initial Python 3.0 rough conversion
Author(s): Charles R Severance
Publisher: Independently Published
Year: 2023
Language: English
Pages: 249
Python for Everybody
Why should you learn to write programs?
Creativity and motivation
Computer hardware architecture
Understanding programming
Words and sentences
Conversing with Python
Terminology: Interpreter and compiler
Writing a program
What is a program?
The building blocks of programs
What could possibly go wrong?
Debugging
The learning journey
Glossary
Exercises
Variables, expressions, and statements
Values and types
Variables
Variable names and keywords
Statements
Operators and operands
Expressions
Order of operations
Modulus operator
String operations
Asking the user for input
Comments
Choosing mnemonic variable names
Debugging
Glossary
Exercises
Conditional execution
Boolean expressions
Logical operators
Conditional execution
Alternative execution
Chained conditionals
Nested conditionals
Catching exceptions using try and except
Short-circuit evaluation of logical expressions
Debugging
Glossary
Exercises
Functions
Function calls
Built-in functions
Type conversion functions
Math functions
Random numbers
Adding new functions
Definitions and uses
Flow of execution
Parameters and arguments
Fruitful functions and void functions
Why functions?
Debugging
Glossary
Exercises
Iteration
Updating variables
The while statement
Infinite loops
Finishing iterations with continue
Definite loops using for
Loop patterns
Counting and summing loops
Maximum and minimum loops
Debugging
Glossary
Exercises
Strings
A string is a sequence
Getting the length of a string using len
Traversal through a string with a loop
String slices
Strings are immutable
Looping and counting
The in operator
String comparison
String methods
Parsing strings
Formatted String Literals
Debugging
Glossary
Exercises
Files
Persistence
Opening files
Text files and lines
Reading files
Searching through a file
Letting the user choose the file name
Using try, except, and open
Writing files
Debugging
Glossary
Exercises
Lists
A list is a sequence
Lists are mutable
Traversing a list
List operations
List slices
List methods
Deleting elements
Lists and functions
Lists and strings
Parsing lines
Objects and values
Aliasing
List arguments
Debugging
Glossary
Exercises
Dictionaries
Dictionary as a set of counters
Dictionaries and files
Looping and dictionaries
Advanced text parsing
Debugging
Glossary
Exercises
Tuples
Tuples are immutable
Comparing tuples
Tuple assignment
Dictionaries and tuples
Multiple assignment with dictionaries
The most common words
Using tuples as keys in dictionaries
Sequences: strings, lists, and tuples - Oh My!
List comprehension
Debugging
Glossary
Exercises
Regular expressions
Character matching in regular expressions
Extracting data using regular expressions
Combining searching and extracting
Escape character
Summary
Bonus section for Unix / Linux users
Debugging
Glossary
Exercises
Networked programs
Hypertext Transfer Protocol - HTTP
The world's simplest web browser
Retrieving an image over HTTP
Retrieving web pages with urllib
Reading binary files using urllib
Parsing HTML and scraping the web
Parsing HTML using regular expressions
Parsing HTML using BeautifulSoup
Bonus section for Unix / Linux users
Glossary
Exercises
Using Web Services
eXtensible Markup Language - XML
Parsing XML
Looping through nodes
JavaScript Object Notation - JSON
Parsing JSON
Application Programming Interfaces
Security and API usage
Glossary
Application 1: Google geocoding web service
Application 2: Twitter
Object-oriented programming
Managing larger programs
Getting started
Using objects
Starting with programs
Subdividing a problem
Our first Python object
Classes as types
Object lifecycle
Multiple instances
Inheritance
Summary
Glossary
Using Databases and SQL
What is a database?
Database concepts
Database Browser for SQLite
Creating a database table
Structured Query Language summary
Spidering Twitter using a database
Basic data modeling
Programming with multiple tables
Constraints in database tables
Retrieve and/or insert a record
Storing the friend relationship
Three kinds of keys
Using JOIN to retrieve data
Summary
Debugging
Glossary
Visualizing data
Building a OpenStreetMap from geocoded data
Visualizing networks and interconnections
Visualizing mail data
Credits
Printing History
Copyright Details
Preface
Remixing an Open Book
Contributions
Contributor List for Python for Everybody
Contributor List for Python for Informatics
Preface for "Think Python"
The strange history of "Think Python"
Acknowledgements for "Think Python"
Contributor List for "Think Python"
Copyright Detail