Joanna is the Executive Editor of Real Python. She loves natural languages just as much as she loves programming languages!
Her love for puzzles, patterns, and pesky little details led her to follow a career in translation. It was only a matter of time before she would fall in love with a new language: Python!
She is a fiend for information and loves to compile and condense it in a way that meets the needs of the target audience.
When she isnβt at her desk, she enjoys exploring the beautiful city of Vancouver on foot, laughing with her pub trivia team, and experimenting with seitan recipes.
Tutorials by Joanna:
- The Python range() Function (Guide)
- Python 3's f-Strings: An Improved String Formatting Syntax (Guide)
Tutorials Joanna Contributed to:
- PyCon Africa 2019 (Recap)
- When to Use a List Comprehension in Python
- Build a Mobile Application With the Kivy Python Framework
- Python REST APIs With Flask, Connexion, and SQLAlchemy β Part 4
- Python Community Interview With Al Sweigart
- Python and PyQt: Building a GUI Desktop Calculator
- Arduino With Python: How to Get Started
- Python sleep(): How to Add Time Delays to Your Code
- Cool New Features in Python 3.8
- Emacs: The Best Python Editor?
- Building a Python C Extension Module
- Using the Python zip() Function for Parallel Iteration
- Preventing SQL Injection Attacks With Python
- How to Use Generators and yield in Python
- Getting Started With Async Features in Python
- How to Convert a Python String to int
- PyGame: A Primer on Game Programming in Python
- Python vs C++: Selecting the Right Tool for the Job
- MATLAB vs Python: Why and How to Make the Switch
- Python args and kwargs: Demystified
- Natural Language Processing With spaCy in Python
- PyCharm for Productive Python Development (Guide)
- A Guide to Excel Spreadsheets in Python With openpyxl
- Your Guide to the CPython Source Code
- How to Make a Discord Bot in Python
- An Effective Python Environment: Making Yourself at Home
- Your Guide to the Python Print Function
- Inheritance and Composition: A Python OOP Guide
- What You Need to Know to Manage Users in Django Admin
- First Steps With PySpark and Big Data Processing
- Understanding the Python Traceback
- Digging Deeper Into Django Migrations
- NumPy arange(): How to Use np.arange()
- Create a Flask Application With Google Login
- Real Python at PyCon US 2019
- Build a Recommendation Engine With Collaborative Filtering
- The Python Square Root Function
- How to Use the Python or Operator
- How to Use Redis With Python
- Python Community Interview With Katrina Durance
- Basic Input, Output, and String Formatting in Python
- How to Use Python Lambda Functions
- Python Community Interview With Marlene Mhangami
- How to Build Command Line Interfaces in Python With argparse
- How to Make a Twitter Bot in Python With Tweepy
- How to Implement a Python Stack
- Object-Oriented Programming in Python vs Java
- Pointers in Python: What's the Point?
- How to Iterate Through a Dictionary in Python
- Python Logging: A Stroll Through the Source Code
- Unicode & Character Encodings in Python: A Painless Guide
- Three Ways of Storing and Accessing Lots of Images in Python
- Playing and Recording Sound in Python
- Python Community Interview With Bob and Julian of PyBites
- How to Use sorted() and sort() in Python
- Defining Main Functions in Python
- How to Get the Most Out of PyCon
- Python KeyError Exceptions and How to Handle Them
- A Beginnerβs Guide to the Python time Module
- How to Work With a PDF in Python
- Linear Regression in Python
- How to Create an Index in Django Without Downtime
- Python REST APIs With Flask, Connexion, and SQLAlchemy β Part 3
- What Is Pip? A Guide for New Pythonistas
- Get Started With Django Part 1: Build a Portfolio App
- How to Stand Out in a Python Coding Interview
- An Intro to Threading in Python
- 13 Project Ideas for Intermediate Python Developers
- How to Build a Python GUI Application With wxPython
- Understanding the Python Mock Object Library
- Managing Multiple Python Versions With pyenv
- Using PyInstaller to Easily Distribute Python Applications
- Refactoring Python Applications for Simplicity
- Traditional Face Detection With Python
- Python Community Interview With Ali Spittel
- Reading and Writing Files in Python (Guide)
- How to Run Your Python Scripts
- Supercharge Your Classes With Python super()
- The Factory Method Pattern and Its Implementation in Python
- The Ultimate List of Data Science Podcasts
- Python Development in Visual Studio Code
- Python "for" Loops (Definite Iteration)
- Jupyter Notebook: An Introduction
- Pythonβs Requests Library (Guide)
- Working With Files in Python
- Async IO in Python: A Complete Walkthrough
- Speed Up Your Python Program With Concurrency
- Django Migrations: A Primer
- Python Type Checking (Guide)
- Modeling Polymorphism in Django With Python
- Python Community Interview With Corey Schafer
- Make a Location-Based Web App With Django and GeoDjango
- How to Write Beautiful Python Code With PEP 8
- A Pythonista's Holiday Wish List
- Thonny: The Beginner-Friendly Python Editor
- Python Community Interview With Brian Peterson
- Sending Emails With Python
- Building Serverless Python Apps Using AWS Chalice
- Python Community Interview With Emily Morehouse
- Continuous Integration With Python: An Introduction
- Memory Management in Python
- Interactive Data Visualization in Python With Bokeh
- Python Community Interview With Kenneth Reitz
- How to Publish an Open-Source Python Package to PyPI
- Python "while" Loops (Indefinite Iteration)
- Writing Comments in Python (Guide)
- Setting Up Python for Machine Learning on Windows
- Python Community Interview With Michael Kennedy
- Practical Text Classification With Python and Keras
- Getting Started With Testing in Python
- Python, Boto3, and AWS S3: Demystified
- Python Community Interview With Mike Grouchy
- How to Round Numbers in Python
- Python REST APIs With Flask, Connexion, and SQLAlchemy β Part 2
- Splitting, Concatenating, and Joining Strings in Python
- Image Segmentation Using Color Spaces in OpenCV + Python
- Python Community Interview With Mahdi Yusuf
- Absolute vs Relative Imports in Python
- Top 10 Must-Watch PyCon Talks
- Logging in Python
- The Best Python Books
- Conditional Statements in Python
- Python Program Lexical Structure
- Python Pandas: Tricks & Features You May Not Know
- Python Community Interview With Mariatta Wijaya
- Primer on Python Decorators
- Sets in Python
- The Ultimate Guide to Django Redirects
- Advanced Git Tips for Python Developers
- Python Community Interview With Mike Driscoll
- Dictionaries in Python
- Socket Programming in Python (Guide)
- Python Code Quality: Tools & Best Practices
- Documenting Python Code: A Complete Guide
- Fast, Flexible, Easy and Intuitive: How to Speed Up Your Pandas Projects
- Lists and Tuples in Python
- Reading and Writing CSV Files in Python
- Generating Random Data in Python (Guide)
- Strings and Character Data in Python
- Python String Formatting Best Practices
- Python Histogram Plotting: NumPy, Matplotlib, Pandas & Seaborn
- Cool New Features in Python 3.7
- What Can I Do With Python?
- Operators and Expressions in Python
- The Ultimate List of Python YouTube Channels
- Variables in Python
- Python REST APIs With Flask, Connexion, and SQLAlchemy
- Basic Data Types in Python
- Python Application Layouts: A Reference
- Itertools in Python 3, By Example
- Interacting with Python
- Python 3 Installation & Setup Guide
- Introduction to Python 3
- The Ultimate Guide to Data Classes in Python 3.7
- Operator and Function Overloading in Custom Python Classes
- Pure Python vs NumPy vs TensorFlow Performance Comparison
- Python Metaclasses
- Python Exceptions: An Introduction
- Pipenv: A Guide to the New Python Packaging Tool
- Python 3's pathlib Module: Taming the File System
- Python Modules and Packages β An Introduction
- Working With JSON Data in Python
- Look Ma, No For-Loops: Array Programming With NumPy
- Python Debugging With Pdb
- Introduction to Git and GitHub for Python Developers
- 11 Beginner Tips for Learning Python Programming
- Thinking Recursively in Python
- Pythonic Data Cleaning With Pandas and NumPy
- 4 Techniques for Testing Python Command-Line (CLI) Apps
- Python IDEs and Code Editors (Guide)
- Modern Web Automation With Python and Selenium
- Practical Introduction to Web Scraping in Python
- Python Virtual Environments: A Primer
- VIM and Python β A Match Made in Heaven
- API Integration in Python β Part 1
- Setting Up Sublime Text 3 for Full Stack Python Development
- Python Inner FunctionsβWhat Are They Good For?
- Face Recognition with Python, in Under 25 Lines of Code
- Primer on Jinja Templating
- Thinking Recursively in Python (Course)
- Cool New Features in Python 3.8 (Course)
- Python Type Checking (Course)
- Python Plotting With Matplotlib (Course)
- The Python range() Function (Course)
- Get Started With Django: Build a Portfolio App (Course)
- Strings and Character Data in Python (Course)
- Thonny: The Beginner-Friendly Python Editor (Course)
- Python Debugging With pdb (Course)
- Absolute vs Relative Imports in Python (Course)
- Lists and Tuples in Python (Course)
- How to Use Python Lambda Functions (Course)
- Python Histogram Plotting: NumPy, Matplotlib, Pandas & Seaborn (Course)
- Traditional Face Detection With Python (Course)
- 11 Beginner Tips for Learning Python (Course)
- Dictionaries in Python (Course)
- Logging in Python (Course)
- How to Write Pythonic Loops (Course)
- Reading and Writing Files in Python (Course)
- Functional Programming in Python (Course)