PyCon 2017: Talks to Brush Up on Skills

Climbing Rocks and Coding Blocks

Charlotte Chang, @pushorpull | Video

Charlotte's talk compares the skills needed to learn to rock climb and the skills needed to learn to code. She discusses when it's helpful to jump in to a new thing versus when it's better to plan out your steps. She also discusses the difference between "distress," when problems are too hard or not hard enough, and "eustress," the positive stress you feel when the problem is just outside your reach but still achievable. For people trying to learn something new, the end of her talk also includes several ways to track your progress.

Decorators, unwrapped: How do they work?

Katie Silverio, @astrosilverio | Video

This talk provided a great look under the hood at how Python decorators work. Katie uses a simple test case to demonstrate how to refactor code into functions, and then turn those functions into decorators, to illustrate how decorators work and when to use them. She also explains how to stack decorators and how the order of the stacking matters.

The Dictionary Even Mightier

Brandon Rhodes, @brandon_rhodes | Video

The talk discusses iterable views, the dictionary’s dedicated comprehension syntax, random key ordering, the special key-sharing dictionary designed to underlie object collections, and, most famously of all, the new “compact dictionary” that cuts dictionary storage substantially — and carries a fascinating side-effect. Great especially for a primer on what dictionaries in Python 3 can do that they can't in Python 2.7.

The Glory of pdb's set_trace

Nicole Zuckerman, @zuckerpunch | Video

Nicole's talk provides a walkthrough of how to make the best use of pdb's set_trace. She understands why we all debug with print statements but makes a compelling case for moving beyind that. Her demo of how set_trace works and some useful commands provides a great primer on debugging.

Looping Like a Pro in Python

David 'DB' Baumgold, @singingwolfboy | Video

The first half of this talk may be review if you've been coding in Python for a while. It covers while and for loops in some detail. If you have been developing in Python for some time, you will refresh your memory on best practices. The second half of the talk dives into better nested loops and generator functions. Python's itertools in particular seems like it could have lots of great applications!

Share Your Code! Python Packaging Without Complication

Dave Forgac, @tylerdave | Video

If you're thinking of creating a Python package, Dave's talk is one to watch. This talk hits all the highlights: setup.py, testing, wheel, README, etc. This talk provides a solid overview of what you should do when packaging a Python project.

What's in your pip toolbox?

Jon Bonafato, @jonafato | Video

In this talk, Jon introduces several ways to manage your project's dependencies. He does a great job of outlining the difference between requirements that people need to know about, and requirements that the machine needs to know about (and how to control both of those concerns without duplicating your work). This talk was very easy to follow and contained lots of actionable ideas.