The Real Python Podcast

Real Python
undefined
Dec 25, 2020 • 48min

2020 Real Python Articles in Review

It’s been quite the year! The Real Python team has written, edited, curated, illustrated, and produced a mountain of Python articles this year. We also upgraded the site and membership with office hours, transcripts, this podcast, and much more. We are joined by two members of the Real Python team, David Amos and Joanna Jablonski. We wanted to share a year-end wrap-up with a collection of articles that showcase a diversity of Python topics and the quality of what our team created this year. Joanna and David help to shepherd articles through the multi-stage editing process. They make sure articles not only impart crucial Python knowledge but also provide a thorough didactic experience. We hope you enjoy this review and as a programming note, there won’t be an episode next week, but we will be back the following week, and look forward to bringing you a year full of great guests, topics, articles, and projects. Course Spotlight: Python Turtle for Beginners In this step-by-step course, you’ll learn the basics of Python programming with the help of a simple and interactive Python library called turtle. If you’re a beginner to Python, then this tutorial will definitely help you on your journey as you take your first steps into the world of programming. Topics: 00:00:00 – Introduction 00:01:41 – Joanna visits the show 00:04:28 – Pandas Project: Make a Gradebook With Python & Pandas 00:07:18 – Build Physical Projects With Python on the Raspberry Pi 00:11:32 – Python Practice Problems: Get Ready for Your Next Interview 00:15:05 – Data Version Control With Python and DVC 00:19:02 – What Are Python Wheels and Why Should You Care? 00:22:57 – Video Course Spotlight 00:23:58 – Python import: Advanced Techniques and Tips 00:26:33 – Hands-On Linear Programming: Optimization With Python 00:29:47 – Customize the Django Admin With Python 00:33:51 – The Python return Statement: Usage and Best Practices 00:36:12 – Python GUI Programming With Tkinter 00:46:47 – Thanks and goodbyes Show links: Pandas Project: Make a Gradebook With Python & Pandas Build Physical Projects With Python on the Raspberry Pi Python Practice Problems: Get Ready for Your Next Interview Data Version Control With Python and DVC What Are Python Wheels and Why Should You Care? Python import: Advanced Techniques and Tips Hands-On Linear Programming: Optimization With Python Customize the Django Admin With Python The Python return Statement: Usage and Best Practices Python GUI Programming With Tkinter Learning Paths Referenced: Pandas for Data Science: Learning Path Introduction to Python: Learning Path Ace Your Python Coding Interview: Learning Path Django for Web Development: Learning Path GUI Programming With PyQt: Learning Path Python Basics Book: Learning Path Data Collection & Storage: Learning Path Podcast Episodes Referenced: Episode 21: Exploring K-means Clustering and Building a Gradebook With Pandas Episode 13: PDFs in Python and Projects on the Raspberry Pi Episode 27: Preparing for an Interview With Python Practice Problems Episode 25: Data Version Control in Python and Real Python Video Transcripts Episode 23: Python Wheels and Pass by Reference in Python Episode 24: Options for Packaging Your Python Application: Wheels, Docker, and More Episode 19: Advanced Python Import Techniques and Managing Users in Django Episode 17: Linear Programming, PySimpleGUI, and More Episode 31: Python Return Statement Best Practices and Working With the map() Function Episode 32: Our New “Python Basics” Book & Filling the Gaps in Your Learning Path Additional Links: About Joanna Jablonski: Real Python Team Real Python’s Office Hours: Learn With Python Experts in Real Time Office Hours Archive - September 9, 2020 : Guest Jim Anderson Level up your Python skills with our expert-led courses: Getting Started With Django: Building a Portfolio App Python Modules and Packages: An Introduction Python Turtle for Beginners Support the podcast & join our community of Pythonistas
undefined
Dec 18, 2020 • 58min

How Python Manages Memory and Creating Arrays With np.linspace

Have you wondered how Python manages memory? How are your variables stored in memory, and when do they get deleted? This week on the show, David Amos is here, and he has brought another batch of PyCoder’s Weekly articles and projects. Along with the Real Python article on Python memory management, we also talk about another article about creating even and non-even spaced arrays in Python with np.linspace. We share an article titled “The Unholy Way of Using Virtual Environments”. This leads to a discussion on how to structure the directories around a virtual environment. We also cover several other articles and projects from the Python community including, storing a list in an int, why you should use an ORM (Object Relational Manager), unraveling not in Python, an open-source Python fuzzer, and Python static website generators. Course Spotlight: How Python Manages Memory Get ready for a deep dive into the internals of Python to understand how it handles memory management. By the end of this course, you’ll know more about low-level computing, understand how Python abstracts lower-level operations, and find out about Python’s internal memory management algorithms. Topics: 00:00:00 – Introduction 00:01:38 – np.linspace(): Create Evenly or Non-Evenly Spaced Arrays 00:05:20 – The Unholy Way of Using Virtual Environments 00:17:33 – Storing a list in an int 00:24:48 – Why Should You Use an ORM (Object Relational Mapper)? 00:32:30 – Video Course Spotlight 00:33:24 – Unravelling not in Python 00:40:03 – How Python Manages Memory 00:45:28 – Follow-up from Jupylet 00:46:51 – Announcing the Atheris Python Fuzzer 00:50:42 – nikola: Static Website and Blog Generator Show Links: np.linspace(): Create Evenly or Non-Evenly Spaced Arrays – In this tutorial, you’ll learn how to use NumPy’s np.linspace() effectively to create an evenly or non-evenly spaced range of numbers. You’ll explore several practical examples of the function’s many uses in numerical applications. The Unholy Way of Using Virtual Environments – If you’ve used virtual environments before, you may have created a venv/ folder inside the root directory of your project. This is standard, but has some downsides. Have you every thought about reversing this and putting your project inside your venv/ folder? Storing a list in an int – For a fun exercise, learn how you can leverage Python’s unlimited integer precision to encode and store lists of any size as a single integer. Because, why not? Why Should You Use an ORM (Object Relational Mapper)? – Budding web developers learning Model-View-Controller frameworks are taught that they should use an Object Relational Mapper (ORM) to interface with their databases. But the “why” is often brushed aside or omitted entirely, leaving a fledgling programmer with burning questions like “What are ORMs, anyway?” and “What problems do they solve?” Unravelling not in Python – In the next blog post in his series about Python’s syntactic sugar, Brett Cannon tackles what would seem to be a very simple bit of syntax, but which actually requires diving into multiple layers to fully implement: not. How Python Manages Memory – Get ready for a deep dive into the internals of Python to understand how it handles memory management. By the end of this course, you’ll know more about low-level computing, understand how Python abstracts lower-level operations, and find out about Python’s internal memory management algorithms. Announcing the Atheris Python Fuzzer – Get started with fuzzing, a technique for automatically finding bugs in Python code by repeatedly trying various inputs to your program, using Google’s newly open-sourced Python fuzzer called Atheris. Project Links: Jupylet: Getting Started nikola: Static Website and Blog Generator atheris: Python Fuzzing Framework Additional Links: Look Ma, No For-Loops: Array Programming With NumPy: Real Python article NumPy: numpy.ndarray An Effective Python Environment: Making Yourself at Home: Real Python article A quick-and-dirty guide on how to install packages for Python: Brett Cannon’s blog Data Management With Python, SQLite, and SQLAlchemy: Real Python article SQLAlchemy: The Python SQL Toolkit and Object Relational Mapper Writing your first Django app: DjangoProject.com Memory Management in Python: Real Python article The Python Language Reference Memory Management: Python docs Pelican: Static Site Generator, Written in Python Lektor: Flexible and Powerful Static Content Management System Level up your Python skills with our expert-led courses: Working With Python Virtual Environments How Python Manages Memory Using NumPy's np.arange() Effectively Support the podcast & join our community of Pythonistas
undefined
Dec 11, 2020 • 1h 6min

Generators, Coroutines, and Learning Python Through Exercises

Python expert Reuven Lerner discusses generators, coroutines, and the importance of practice in Python. Topics include using 'send' method, 'yield from' syntax, exceptions, and benefits of generator functions. Reuven's teaching techniques, PyCon Africa 2020 talk, and 'Python Workout' book are highlighted.
undefined
Dec 4, 2020 • 44min

Looping With enumerate() and Python GUIs With PyQt

If you’re coming to Python from a different language, you may not know about a useful tool for working with loops, Python’s built-in enumerate function. This week on the show, David Amos is here, and he has brought another batch of PyCoder’s Weekly articles and projects. Along with the Real Python article covering the details of the enumerate function, we also talk about another article about constructing Python graphical user interface elements in PyQt. David shares a couple of resources for data scientists, including an article about skills not taught in data science boot camps, and a project for creating synthetic data. We also cover several other articles and projects from the Python community including, an update about youtubedl, hunting for malicious packages on PyPI, using Python’s bisect module, 73 examples to help you master f-strings, and game programming in Jupyter notebooks. Course Spotlight: Formatting Python Strings In this course, you’ll see two items to add to your Python string formatting toolkit. You’ll learn about Python’s string format method and the formatted string literal, or f-string. You’ll learn about these formatting techniques in detail and add them to your Python string formatting toolkit. Topics: 00:00:00 – Introduction 00:01:53 – The youtube-dl Repository Has Been Restored on GitHub With Help From the Electronic Frontier Foundation 00:04:12 – Python enumerate(): Simplify Looping With Counters 00:07:24 – Hunting for Malicious Packages on PyPI 00:14:31 – Sponsor: Scout APM 00:15:31 – Using Python’s bisect module 00:19:00 – 73 Examples to Help You Master Python’s f-Strings 00:21:35 – 10 Python Skills They Don’t Teach in Bootcamp 00:27:32 – Video Course Spotlight 00:28:28 – Python and PyQt: Creating Menus, Toolbars, and Status Bars 00:33:51 – SDV: Synthetic Data Generation for Tabular, Relational, Time Series Data 00:38:19 – jupylet: Game Programming in Jupyter Notebooks 00:42:59 – Thanks and goodbye Show Links: The youtube-dl Repository Has Been Restored on GitHub With Help From the Electronic Frontier Foundation Python enumerate(): Simplify Looping With Counters – Once you learn about for loops in Python, you know that using an index to access items in a sequence isn’t very Pythonic. So what do you do when you need that index value? In this tutorial, you’ll learn all about Python’s built-in enumerate(), where it’s used, and how you can emulate its behavior. Hunting for Malicious Packages on PyPI – Jordan Wright installed every package on PyPI to look for malicious content. And he didn’t just inspect code, he actually ran the packages. Brave soul! Learn how he set-up this project and what he learned on his adventure. Using Python’s bisect module – Python’s bisect module has tools for searching and inserting values into sorted lists. It’s one of his “batteries-included” features that often gets overlooked, but can be a great tool for optimizing certain kinds of code. 73 Examples to Help You Master Python’s f-Strings – f-Strings might be one of the most beloved features in Python 3.6+. Here are 73 examples of how to use f-strings to improve your Python code. 10 Python Skills They Don’t Teach in Bootcamp – Here are ten practical and little-known pandas tips to help you take your skills to the next level. Python and PyQt: Creating Menus, Toolbars, and Status Bars – In this step-by-step tutorial, you’ll learn how to create, customize, and use Python menus, toolbars, and status bars for creating GUI applications using PyQt. Projects: jupylet: Game Programming in Jupyter Notebooks SDV: Synthetic Data Generation for Tabular, Relational, Time Series Data Additional Links: Python and PyQt: Building a GUI Desktop Calculator - Real Python article PyQt Layouts: Create Professional-Looking GUI Applications - Real Python article Handling SQL Databases With PyQt: The Basics - Real Python article Synthetic Data Vault (SDV): A Python Library for Dataset Modeling RPP - Episode 7: AsyncIO + Music, Origins of Black, and Managing Python Releases Level up your Python skills with our expert-led courses: Using Jupyter Notebooks Formatting Python Strings How to Write Pythonic Loops Support the podcast & join our community of Pythonistas
undefined
Nov 27, 2020 • 50min

Teaching Python and Finding Resources for Students

Kelly Schuster-Paredes and Sean Tibor from the Teaching Python podcast share their experiences teaching Python to middle school students. They discuss using Real Python resources, Google for research, cloud-based tools, and core Python concepts. They also talk about recent podcast topics and the benefits of teaching Python in a changing educational landscape.
undefined
Nov 20, 2020 • 57min

Sentiment Analysis, Fourier Transforms, and More Python Data Science

Are you interested in learning more about Natural Language Processing? Have you heard of sentiment analysis? This week on the show, Kyle Stratis returns to talk about his new article titled, Use Sentiment Analysis With Python to Classify Movie Reviews. David Amos is also here, and all of us cover another batch of PyCoder’s Weekly articles and projects. Kyle discusses an article about distance metrics for machine learning. David shares a Real Python article about Python signal processing and Fourier transforms with scipy.fft. We also cover several other articles and projects from the Python community including, simulating real-world processes in Python with SimPy, working with Microsoft Excel using Python and OpenPyXL, why running code during import is a bad idea, what I wish I knew as a junior dev, the Raspberry Pi 400 personal computer, dynamic sky replacement and harmonization in videos with SkyAR. Course Spotlight: Simulating Real-World Processes in Python With SimPy In this step-by-step course, you’ll see how you can use the SimPy package to model real-world processes with a high potential for congestion. You’ll create an algorithm to approximate a complex system, and then you’ll design and run a simulation of that system in Python. Topics: 00:00:00 – Introduction 00:02:56 – Use Sentiment Analysis With Python to Classify Movie Reviews 00:09:49 – OpenPyXL: Working with Microsoft Excel Using Python 00:12:41 – An Illustration of Why Running Code During Import Is a Bad Idea 00:16:52 – Distance Metrics for Machine Learning 00:22:52 – Sponsor: linode.com 00:22:52 – What I Wish I Knew as a Junior Dev 00:35:29 – Fourier Transforms With scipy.fft: Python Signal Processing 00:39:44 – Simulating Real-World Processes in Python With SimPy 00:43:30 – Video Course Spotlight 00:44:35 – Raspberry Pi 400 Personal Computer Kit Now Available 00:49:55 – SkyAR: Dynamic Sky Replacement and Harmonization in Videos 00:52:04 – Creating an Idea Factory with Roam Research 00:56:02 – Thanks and goodbye Show Links: Use Sentiment Analysis With Python to Classify Movie Reviews – In this tutorial, you’ll learn about sentiment analysis and how it works in Python. You’ll then build your own sentiment analysis classifier with spaCy that can predict whether a movie review is positive or negative. OpenPyXL: Working with Microsoft Excel Using Python – Ah, Excel. Everyone loves to hate it. But let’s face it. Excel is one of the most popular pieces of software ever written. But you love Python, not Excel, which is why you might want to learn OpenPyXL. An Illustration of Why Running Code During Import Is a Bad Idea (And How It Happens Anyway) – Code that runs when a module is imported is usually a code smell. But sometimes there’s no way around it. Distance Metrics for Machine Learning – Many machine learning algorithms can be summarized as transforming data to n-dimensional vectors and computing similarity between points by means of some distance metric. This article explores four of these metrics—the Euclidean, Manhattan, Minkowski, and Hamming distances—and how to compute them with Python. What I Wish I Knew as a Junior Dev – Some of these are things even senior devs need to be reminded of sometimes! Fourier Transforms With scipy.fft: Python Signal Processing – In this tutorial, you’ll learn how to use the Fourier transform, a powerful tool for analyzing signals with applications ranging from audio processing to image compression. You’ll explore several different transforms provided by Python’s scipy.fft module. Projects: Simulating Real-World Processes in Python With SimPy Raspberry Pi 400 Personal Computer Kit Now Available SkyAR: Dynamic Sky Replacement and Harmonization in Videos Additional Links: Python Job Hunting in a Pandemic: RPP Episode 10 Natural language processing: Wikipedia spaCy: Industrial-Strength Natural Language Processing in Python Natural Language Processing With spaCy in Python Natural Language Toolkit Building PDFs in Python with ReportLab: RPP Episode 20 Mouse vs Python: Mike Driscoll Blog Python 101: 2nd Edition openpyxl - A Python library to read/write Excel 2010 xlsx/xlsm files Editing Excel Spreadsheets in Python With openpyxl How to Read a Book: The Ultimate Guide by Mortimer Adler import antigravity: The History of Python Blog How to Take Smart Notes by Sönke Ahrens - Summary Kyle Stratis’ YouTube Channel Creating an Idea Factory with Roam Research Level up your Python skills with our expert-led courses: Simulating Real-World Processes in Python With SimPy Python Coding Interviews: Tips & Best Practices Editing Excel Spreadsheets in Python With openpyxl Support the podcast & join our community of Pythonistas
undefined
Nov 13, 2020 • 52min

Security and Authorization in Your Python Web Applications

So you built a web application in Python. Now how are you going to authorize users? Security goes beyond authentication. Who gets to do what, where, and when? This week on the show, we have Sam Scott, chief technology officer from Oso. Oso is an open-source policy engine for authorization that you embed in your application. Sam talks about the typical security and authorization challenges developers face. He discusses building an engine on top of your existing Flask or Django app. We cover the concept of policies, business logic, and some common paradigms. Course Spotlight: Exploring HTTPS and Cryptography in Python In this course, you’ll gain a working knowledge of the various factors that combine to keep communications over the Internet safe. You’ll see concrete examples of how to keep information secure and use cryptography to build your own Python HTTPS application. Topics: 00:00:00 – Introduction 00:01:32 – Sam’s math background 00:03:11 – What is Sage? 00:04:24 – What is post-quantum cryptography? 00:05:19 – Getting Oso started, authentication vs authorization. 00:10:01 – What is a policy engine? 00:12:57 – Confusing business logic with authorization 00:17:09 – Sponsor: Techmeme Ride Home Podcast 00:17:38 – Pip installing Oso, adding to Flask or Django 00:21:15 – What are common security concerns for developers? 00:25:41 – What are security concerns users have? 00:27:14 – What are the worst security issues you’ve found in a Python app? 00:30:12 – Video Course Spotlight 00:31:32 – What are other common authorization “gotchas”? 00:37:16 – Additional Oso resources 00:39:36 – What does writing in Polar look like? 00:42:00 – Are there authorization paradigms? 00:46:02 – What are you excited about in the world of Python? 00:50:05 – What do you want to learn next? 00:50:49 – Thanks and goodbye Show Links: oso on twitter Sam on twitter oso: an open source policy engine for authorization oso Django Docs oso Flask Docs oso Python Library Docs oso Source Code oso Debugger Docs Adding authorization to your Flask app with oso: oso blog Building a Django app with data access controls in 30 min: oso blog Generating Django Queryset filters from oso policies: oso blog Polar Adventure: a text-based adventure game written in Polar Lighting talk on access controls: oso blog SageMath: A free open-source mathematics software system Post-quantum cryptography: Wikipedia article 327: Exploits of a Mom : XKCD Comic Little Bobby Tables: Explain XKCD Snyk: Developer-first Cloud Native Application Security Geekle’s python Universe WEB Edition: 19 November 2020 WebAssembly(WASM) Level up your Python skills with our expert-led courses: Exploring HTTPS and Cryptography in Python Using Google Login With Flask Getting Started With Django: Building a Portfolio App Support the podcast & join our community of Pythonistas
undefined
Nov 6, 2020 • 53min

The Python Modulo Operator & Managing Data With SQLite and SQLAlchemy

Topics discussed in this podcast include managing data with SQLite and SQLAlchemy, exploring the modulo operator in Python, shooting yourself in the foot with Python, fractals on a cloud computer, DMCA takedown request for youtube-dl, using Python for feature film, and a sorting algorithms visualizer.
undefined
Oct 30, 2020 • 1h 27min

Going Beyond the Basic Stuff With Python and Al Sweigart

Author Al Sweigart discusses his new book 'Beyond the Basic Stuff with Python' covering command line usage, code formatting, naming conventions, and version control. He also talks about learning Python through games and dispelling Python myths. The episode touches on creating a curriculum around conference talks and offers insights into handling character encodings and Unicode in Python.
undefined
Oct 23, 2020 • 51min

Our New "Python Basics" Book & Filling the Gaps in Your Learning Path

Do you have gaps in your Python learning path? If you’re like me, you may have followed a completely random route to learn Python. This week on the show, David Amos is here to talk about the release of the Real Python book, “Python Basics: A Practical Introduction to Python 3”. The book is designed not only to get beginners up to speed but also to help fill in the gaps many intermediate learners may still have. David has been working on the book for the last two years, and we dive into all the resources that come with it. These include code challenges, quizzes, and multiple projects that are designed to help you cement your learning. We also discuss the people and processes involved in creating, reviewing, and updating the book. Spotlight: Python Basics: A Practical Introduction to Python 3 Go from beginner to intermediate in Python with this complete curriculum, up-to-date for Python 3.9. Python Basics includes exercises, interactive quizzes, and sample projects, so you’ll always know what to focus on next in order to build a strong Python foundation. Topics: 00:00:00 – Introduction 00:01:36 – Python Basics: A Practical Introduction to Python 3 00:02:39 – How has feedback helped the process? 00:04:17 – Who is the intended audience? 00:06:02 – Covering how to get Python installed on different platforms? 00:11:05 – What topics does the book cover? 00:14:12 – What can be previewed on Real Python? 00:15:03 – What format can you get the book in? 00:18:30 – Code challenges included! 00:21:33 – What other resources are provided to help with cementing your learning? 00:22:41 – What versions of Python are covered? 00:23:08 – How does the book fit into the Real Python learning eco-system? 00:29:35 – Spotlight: How to get a preview of the book! 00:30:38 – What has the writing process been like? 00:33:21 – What does didactic mean, in terms of reviewing materials? 00:39:23 – What were areas you were excited about updating? 00:41:29 – Were there important things you felt needed to be added? 00:45:55 – Who worked on the book? 00:47:13 – What are you excited about in the world of Python? 00:48:13 – What do you want to learn next? 00:49:40 – Thanks and goodbye Show Links: Python Basics: A Practical Introduction to Python 3 Python 3 Installation & Setup Guide Create and Modify PDF Files in Python Python GUI Programming With Tkinter Object-Oriented Programming (OOP) in Python 3 A Practical Introduction to Web Scraping in Python Level up your Python skills with our expert-led courses: Grow Your Python Portfolio With 13 Intermediate Project Ideas Cool New Features in Python 3.9 Unicode in Python: Working With Character Encodings Support the podcast & join our community of Pythonistas

The AI-powered Podcast Player

Save insights by tapping your headphones, chat with episodes, discover the best highlights - and more!
App store bannerPlay store banner
Get the app