O'Reilly logo

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

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.

Table of Contents

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