Introduction to Python

  1. Introduction to Python
  2. Python: Choosing a Text Editor or IDE
  3. Python: Hello World
  4. Python: Variables, Strings and Numbers
  5. Python: Variable Naming
  6. Python: Math, Familiar
  7. Python: Math, Less Familiar
  8. Python: Mathematical Order of Operations
  9. Python: Introducing PEP 8
  10. Python: Text Concatenation
  11. Python: if Statements and Comparison Operators
  12. Python: else and elif statements
  13. Python: Testing Multiple Conditions
  14. Python: Testing Sets of Conditions
  15. Python: Nested if Statements
  16. Python: Lists
  17. Python: Adding To and Changing Lists
  18. Python: Lists: Take a Slice, Delete Elements, Popping Elements
  19. Python: Tuples
  20. Python: for Loops
  21. Python: Nested for Loops
  22. Python: Capturing and Formatting User Input
  23. Python: Dictionaries
  24. Python: Functions
  25. Python: While Loops
  26. Python: Creating and Using Classes
  27. Python: Data Files
  28. Python: Modules
  29. Python: CSV Files
  30. Python: JSON Files
  31. Python: Errors and Exception Handling
  32. Python: Using Pexpect
  33. Python : Using Pexpect :
  34. Python : Using Pexpect:
  35. Python: DCL Conversion to Python

Book: A Smarter Way to Learn Python, Mark Myers

Lessons and Curricula

I recommend studying Python from multiple sources: our book, online training and videos.

Our Book

We’ll cover lessons in A Smarter Way, and as we cover chapters we’ll look at the chapter exercises starting at


Probably the best online place to start is This truly excellent curriculum is free for teachers and students, is simply and clearly written, and provides a good source of code snippets you can use for the rest of your Python career.

Note the Python Essentials menu at the top, which lets you go straight to the page covering any particular syntax. Take a look around the site, then come back here.


I will provide links to several videos as we go along, from rapid-fire summaries to specialized examples of using Python.


[catlist name=python orderby=date order=asc numberposts=50]