Python for Informatics: Exploring Information
Charles Severance
Version 0.0.8-d2
Preface
Python for Informatics: Remixing an Open Book
Preface for "Think Python"
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?
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
Random numbers
Math functions
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
"Infinite loops" and
break
Finishing iterations with
continue
Definite loops using
for
Loop patterns
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
Format operator
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!
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 users
Debugging
Glossary
Exercises
Networked programs
HyperText Transport Protocol - HTTP
The World's Simplest Web Browser
Retrieving an image over HTTP
Retrieving web pages with
urllib
Parsing HTML and scraping the web
Parsing HTML using Regular Expressions
Parsing HTML using BeautifulSoup
Reading binary files using urllib
Glossary
Exercises
Using Web Services
eXtensible Markup Language - XML
Parsing XML
Looping through nodes
JavaScript Object Notation - JSON
Parsing JSON
Application Programming Interfaces (API)
Google geocoding web service
Security and API usage
Glossary
Exercises
Using databases and Structured Query Language (SQL)
What is a database?
Database concepts
SQLite manager Firefox add-on
Creating a database table
Structured Query Language (SQL) summary
Spidering Twitter using a database
Basic data modeling
Programming with multiple tables
Three kinds of keys
Using JOIN to retrieve data
Summary
Debugging
Glossary
Visualizing data
Building a Google map from geocoded data
Visualizing networks and interconnections
Visualizing mail data
Automating common tasks on your computer
File names and paths
Example: Cleaning up a photo directory
Command line arguments
Pipes
Glossary
Exercises
Python Programming on Windows
Python Programming on Macintosh
Contributor List
Contributor List for "Python for Informatics"
Contributor List for "Think Python"
Copyright Detail
Index
This document was translated from L
A
T
E
X by
H
E
V
E
A and H
A
C
H
A
.