Intermediate Python Programming

Video description

What do Scrabble cheaters, Shakespearean sonnets, Twitter, and the Astronomy Picture of the Day have to do with Python software programming? For software impresario Jessica McKellar, they’re playful tools for teaching intermediate-level Python programming techniques. During her time as an organizer of the Boston Python User Group (one of the world’s largest Python groups), she taught hundreds of Python wannabees to happily program like pros. She uses that experience to benefit the next generation of Pythonistas in this follow-up to her widely popular Introduction to Python video.

  • Review data structures like lists, dictionaries, and sets; and when to best use them
  • Discover list comprehensions, a conceptual technique for constructing lists in an easy way
  • Analyze code performance using tools like profiling, code timing, and Big O notation
  • Understand why refractoring code can make it more testable
  • Learn best practices for scripting and documentation
  • Practice the smart ways to navigate an existing codebase
  • Search for, replace, and parse text using regular expressions and the re module
  • Understand single threaded programs, threading primitives, and multi-threaded programs

Jessica McKellar is the Director of Engineering at DropBox in San Francisco. A graduate of MIT, she enjoys the Internet, networking, low-level systems engineering, and contributing to and helping other people contribute to open source software. She is a Python Twisted maintainer and a local STEM volunteer.

Publisher resources

Download Example Code

Table of contents

  1. Introduction
    1. Welcome to the Course
    2. Walking through the checklist of everything we need for this course
  2. Wordplay warm-up
    1. Problem solving for words words in the English language that contain double letters
    2. Problem solving for words in the English language that do not contain double letters
    3. Problem solving for the English word that contains all vowels A, E, I, O and U?
    4. Problem solving using more than one solution method
  3. Data structures, a practical intermediate introduction
    1. Reviewing container data structures we already know and love: lists and dictionaries
    2. Using Lists and Dictionaries to Find Novel Words in Shakespeare's Sonnets
    3. An Introduction to "Big O" Notation and How to Analyze the "Runtime Performance" of Algorithms
    4. Adding a new container data structure to our toolkit: the set.
    5. Digging into the list comprehensions we've been using to put data from a file into lists and dictionaries.
    6. Synthesizing the material from this section in a new script to extract the words from a file containing all of Shakespeare's sonnets.
    7. Reviewing the data structures and concepts from this section
  4. Jeopardy database
    1. Introducing the Jeopardy project, which will give us practice interacting with databases in Python
    2. Exploring our sqlite Jeopardy database interactively
    3. Exploring using Python to Interact With a SQLite Database Interactively
    4. Writing our First Script to Query a Database: Jeopardy Categories
    5. Writing a script to query the Jeopardy database for clues
    6. Writing a script to query the Jeopardy database for the full set of categories for a game
    7. Writing a script to query the Jeopardy database for clues for a particular category
  5. Plotting with Matplotlib
    1. Introducing the plotting project, which will give us practice using the popular Matplotlib plotting library
    2. Exploring basic plotting interactively
    3. Expanding on our basic plot in a script
    4. Reading a script to plot the world population over time
    5. Writing a script to plot life expectancies for men and women over time
    6. Reading a script to plot a bar chart of letter frequencies in the US constitution
  6. Scraping the NASA Astronomy Picture of the Day Website
    1. Introducing the APOD project, which will give us practice with web scraping
    2. Planning out our APOD scraping script
    3. Implementing a basic scraper: fetching web resources with urllib
    4. Implementing a basic scraper: processing HTML with BeautifulSoup
    5. Finishing our basic scraper - Part 1
    6. Finishing our basic scraper - Part 2
    7. Generalizing our scraper
    8. Conclusion

Product information

  • Title: Intermediate Python Programming
  • Author(s): Jessica McKellar
  • Release date: July 2016
  • Publisher(s): O'Reilly Media, Inc.
  • ISBN: 9781491954935