Resources
A Crash Course in Programming in Python
The Midwest Big Data Summer School, May 2019
-
The Jupyter notebook containing "slides" and code examples, rendered as an html document.
- See the top of the document for sugggestions on using it interactively
- Here you can download the notebook or clone the repository
-
Interactive version of How To Think Like a Computer Scientist.
- Interactive textbook based on a classic open-source book.
-
Com S 127 archive page.
- Course materials from an introductory programming course at ISU.
-
Codeacademy also has a free, interactive, online Python course.
-
Philip Guo's Python Tutor.
- Cool tool for visualizing code execution. Click on "Edit code", paste or type your code, and press the "Visualize Execution" button. Use the "Forward" and "Back" buttons to step through the code. This works only for small, self-contained programs.
-
Tutorial-style language overview from python.org.
-
Python library reference.
-
Documentation page for
pandas
module.
-
Python for Data Analysis, webcast by pandas author Wes McKinney
Python 2 vs Python 3
The differences are obvious only in a few places:
- Use of the
print
keyword: Python 3 requires parentheses around
the values to be printed.
- Behavior of the division operator:
- In Python 3, the single slash
/
operator always performs floating-point division, and a double slash //
is integer division.
25 / 10
is 2.5
25 // 10
is 2
- In Python 2, the single slash is integer division if both operands are integers, and floating-point division if at least one operand is floating-point.
25 / 10
is 2
25 / 10.0
is 2.5
25 // 10
is an error
- In Python 3, the
input(...)
function always returns a string. If you are reading numeric values, you need to explicitly convert from string to int
or float
using the int(...)
or float(...)
functions. There is no function raw_input
as in Python 2.