Episode 176: Building Python Best Practices and Fundamental Skills
The Real Python Podcast
Oct 13, 2023 1h 3m
What fundamental developer skills are new Python users missing? What best practices might developers without a computer science background be lacking? Christopher Trudeau is back on the show this week, bringing another batch of PyCoder’s Weekly articles and projects.
Episode Sponsor:
Christopher opens our discussion by sharing a recent social media thread about teaching software engineering best practices to scientists and others without a computer science background. We talk about software design philosophy and strategies for sharing knowledge within an organization.
We cover the results from the sixth annual official Python Developer Survey. The survey covers Python usage, language versions, frameworks, libraries, and various demographics. We dig into the details and share our insights.
We also share several other articles and projects from the Python community, including a couple of release announcements, so many Python dataframes, ways to speed up your code when multiple cores aren’t an option, Python’s syntactic sugar, a computer algebra system named SymPy, the process of building a blog in Django, code metrics in Python with Radon, and a TUI app for daily writing.
This week’s episode is brought to you by Snyk.
Course Spotlight: Filtering Iterables With Python
In this video course, you’ll learn how Python’s filter()
works and how to use it effectively in your programs. You’ll also learn how to use list comprehension and generator expressions to replace filter()
and make your code more Pythonic.
Topics:
- 00:00:00 – Introduction
- 00:02:25 – Django 5.0 Alpha 1 Released
- 00:03:45 – Mojo SDK Released for Linux
- 00:04:50 – Python Developers Survey 2022 Results
- 00:13:44 – Why Are There So Many Python Dataframes?
- 00:20:24 – Sponsor: Snyk
- 00:21:15 – Speeding Up Your Code When Multiple Cores Aren’t an Option
- 00:28:41 – Python Is (Mostly) Made of Syntactic Sugar
- 00:32:57 – Towards a New SymPy
- 00:36:48 – Video Course Spotlight
- 00:37:54 – Building a Blog in Django
- 00:41:22 – What are fundamental skills and best-practices that might be lacking?
- 00:55:02 – Learning About Code Metrics in Python With Radon
- 00:59:43 – words-tui: A TUI App for Daily Writing
- 01:02:34 – Thanks and goodbye
News:
Show Links:
- Python Developers Survey 2022 Results
- Why Are There So Many Python Dataframes? – Ever wonder why there are so many ways libraries that have dataframes in Python? This article talks about the different perspectives of popular tool kits to explore why they are what they are.
- Speeding Up Your Code When Multiple Cores Aren’t an Option – Parallelism isn’t the only answer: often you can optimize low-level code to get significant performance improvements.
- Python Is (Mostly) Made of Syntactic Sugar – “Programming languages are often made up of a (mostly) irreducible core, with lots of sugary constructs sprinkled on top–the syntactic sugar.” This article summarizes a lot of Brett Cannon’s recent work exploring what’s sugar and what’s fundamental in Python.
- Towards a New SymPy – SymPy is a computer algebra system, meaning that it does math on symbolic concepts. This can provide a lot more accuracy than typical floating-point mathematics found in numeric systems. This is part one of a multi-part article, explaining SymPy along with its recent improvements. Part two discusses how SymPy handles polynomials.
- Building a Blog in Django – Very little code is needed to get a blog working using the Django framework. This post highlights what you need, including each of the key code components. There’s also an associated Hacker News discussion.
Discussion:
- What are fundamental skills and best-practices that might be lacking? - Matt Harrison
- A Philosophy of Software Design - Book
- Episode #49: The Challenges of Developing Into a Python Professional
Projects:
- Learning About Code Metrics in Python With Radon – Radon is a code metrics tool. This article introduces you to it and teaches you how you can improve your code based on its measurements.
- words-tui: A TUI App for Daily Writing
Additional Links:
- Episode #157: Discussing Mojo & Improving Python Object-Oriented Programming
- Episode #167: Exploring pandas 2.0 & Targets for Apache Arrow
- Episode #47: Unraveling Python’s Syntax to Its Core With Brett Cannon
- Episode #92: Continuing to Unravel Python’s Syntactic Sugar With Brett Cannon
- Episode #154: Targeting WebAssembly Platforms & Distilling a Minimum Viable Python
- SymPy
- Computer algebra system - Wikipedia
- SimPy: Simulating Real-World Processes With Python
- Episode #117: Measuring Python Code Quality, Simplicity, and Maintainability
- Clean Code: Writing Clear, Readable, Understandable & Reliable Quality Code - Sonar
- Anthony Shaw - Wily Python: Writing simpler and more maintainable Python - PyCon 2019 - YouTube
- Textual
- National Novel Writing Month
- Episode #101: Tools for Setting Up Python on a New Machine