The Real Python Podcast

Continuing to Unravel Python's Syntactic Sugar With Brett Cannon


Listen Later

A year ago, we had Brett Cannon on the show to discuss his blog series about unravelling Python’s syntactic sugar. Brett has written 15 more entries in the series, and he returns to the show this week to continue our conversation. We dive into unravelling ‘async’ and ‘await’ statements and their relationship with Python’s generators.

While working through the series, he has uncovered some issues lying under the surface of CPython. We discuss a couple of these discoveries and how the core developers resolved them.

Brett was recently re-elected to the Python Steering Council, and he talks about how the current direction of the council is shifting. We also discuss how Brett uses Twitter polls to gauge community sentiment and factors it into development decisions.

This conversation covered so many topics that we split it into two episodes. Next week’s episode will continue our discussion.

Course Spotlight: Speed Up Python With Concurrency

Learn what concurrency means in Python and why you might want to use it. You’ll see a simple, non-concurrent approach and then look into why you’d want threading, asyncio, or multiprocessing.

Topics:

  • 00:00:00 – Introduction
  • 00:01:54 – Python Steering Council Reelection
  • 00:06:06 – Python Extension for VSCode and the Language Server Protocol (LSP)
  • 00:10:38 – Using twitter polls to gauge sentiment
  • 00:19:19 – Sponsor: Honeybadger
  • 00:20:04 – Unravelling Python’s syntactic sugar series
  • 00:25:30 – The desugar GitHub repo and unearthing problems in CPython
  • 00:29:48 – Why have __iter__() for an iterator?
  • 00:32:47 – Is discovering and showcasing these “issues” stressful?
  • 00:35:19 – A reverse chronology of some Python features
  • 00:38:34 – How the heck does async/await work in Python
  • 00:51:29 – Video Course Spotlight
  • 00:52:54 – Using “spam” vs “foo” and metasyntactic variables
  • 00:57:30 – Goodbye
  • Show Links:

    • 2022 Python Steering Council Election Results - Python.org
    • Official Page for Language Server Protocol
    • Brett Cannon on Twitter: “If I were creating a protocol/interface for a spammy object, what naming convention would you expect?”
    • Episode #88: Discussing Type Hints, Protocols, and Ducks in Python – The Real Python Podcast
    • Brett Cannon - Twitter Poll: “Which of these ‘pip install’ flags to you usually specify?”
    • Episode #47: Unraveling Python’s Syntax to Its Core With Brett Cannon – The Real Python Podcast
    • Unravelling ‘break’ and ‘continue’
    • Unravelling ‘for’ statements
    • GitHub - brettcannon/desugar: Unravelling Python source code
    • A reverse chronology of some Python features
    • What Color is Your Function? – journal.stuffwithstuff.com
    • Unravelling ‘async’ and ‘await’
    • How the heck does async/await work in Python 3.5?
    • Episode #39: Generators, Coroutines, and Learning Python Through Exercises – The Real Python Podcast
    • How to Use Generators and yield in Python – Real Python
    • Async IO in Python: A Complete Walkthrough – Real Python
    • Level up your Python skills with our expert-led courses:

      • For Loops in Python (Definite Iteration)
      • Python Generators 101
      • Speed Up Python With Concurrency
      • Support the podcast & join our community of Pythonistas

        ...more
        View all episodesView all episodes
        Download on the App Store

        The Real Python PodcastBy Real Python

        • 4.7
        • 4.7
        • 4.7
        • 4.7
        • 4.7

        4.7

        139 ratings


        More shows like The Real Python Podcast

        View all
        The Changelog: Software Development, Open Source by Changelog Media

        The Changelog: Software Development, Open Source

        289 Listeners

        Software Engineering Daily by Software Engineering Daily

        Software Engineering Daily

        623 Listeners

        Talk Python To Me by Michael Kennedy

        Talk Python To Me

        583 Listeners

        Soft Skills Engineering by Jamison Dance and Dave Smith

        Soft Skills Engineering

        290 Listeners

        Super Data Science: ML & AI Podcast with Jon Krohn by Jon Krohn

        Super Data Science: ML & AI Podcast with Jon Krohn

        299 Listeners

        Python Bytes by Michael Kennedy and Brian Okken

        Python Bytes

        213 Listeners

        Syntax - Tasty Web Development Treats by Wes Bos & Scott Tolinski - Full Stack JavaScript Web Developers

        Syntax - Tasty Web Development Treats

        987 Listeners

        Darknet Diaries by Jack Rhysider

        Darknet Diaries

        8,110 Listeners

        Tech Brew Ride Home by Morning Brew

        Tech Brew Ride Home

        968 Listeners

        Practical AI by Practical AI LLC

        Practical AI

        210 Listeners

        AWS Podcast by Amazon Web Services

        AWS Podcast

        206 Listeners

        Django Chat by William Vincent and Carlton Gibson

        Django Chat

        75 Listeners

        Last Week in AI by Skynet Today

        Last Week in AI

        313 Listeners

        Machine Learning Street Talk (MLST) by Machine Learning Street Talk (MLST)

        Machine Learning Street Talk (MLST)

        99 Listeners

        The Pragmatic Engineer by Gergely Orosz

        The Pragmatic Engineer

        74 Listeners