About Christopher Bailey
Chris is an avid Pythonista and creates video tutorials for Real Python. He is a programmer and data analyst, working in banking, marketing and environmental science. He creates music under the name Tripnet. Chris lives in Colorado with his wife and two dogs.
Tutorials by Christopher:
- Python Basics: Strings and String Methods (Course)
- Python Basics: Code Your First Python Program (Course)
- Arduino With Python: Getting Started (Course)
- Make a 2D Side-Scroller Game With PyGame (Course)
- Python Modules and Packages: An Introduction (Course)
- Cool New Features in Python 3.8 (Course)
- Python Type Checking (Course)
- Strings and Character Data in Python (Course)
- Lists and Tuples in Python (Course)
- Interactive Data Visualization With Bokeh and Python (Course)
- Python Decorators 101 (Course)
- Making HTTP Requests With Python (Course)
- Python 3's F-Strings: An Improved String Formatting Syntax (Course)
Tutorials Christopher Contributed to:
- The Real Python Podcast: It's Been a Year!
- The Real Python Podcast Is Here!
- PyGame: A Primer on Game Programming in Python
- Documenting Python Projects With Sphinx and Read the Docs (Course)
- Handling or Preventing Errors in Python: LBYL vs EAFP (Course)
- Managing Dependencies With Python Poetry (Course)
- Working With TOML and Python (Course)
- Formatting Floats Inside Python F-Strings (Course)
- Introduction to Web Scraping With Python (Course)
- Python's Magic Methods in Classes (Course)
- Understanding Python's Global Interpreter Lock (GIL) (Course)
- Using Type Hints for Multiple Return Types in Python (Course)
- What's New in Python 3.13 (Course)
- Differences Between Python's Mutable and Immutable Types (Course)
- Advanced Python import Techniques (Course)
- Customizing VS Code Through Color Themes (Course)
- When to Use .__repr__() vs .__str__() in Python (Course)
- Using Pydantic to Simplify Python Data Validation (Course)
- Using Astropy for Astronomy With Python (Course)
- Exploring Astrophysics in Python With pandas and Matplotlib (Course)
- Sorting Dictionaries in Python: Keys, Values, and More (Course)
- Interacting With REST APIs and Python (Course)
- Simulate a Text File in Python (Course)
- pandas GroupBy: Grouping Real World Data in Python (Course)
- Exercises Course: Introduction to Web Scraping With Python (Course)
- Customize VS Code Settings (Course)
- Defining Python Constants for Code Maintainability (Course)
- Build a GUI Calculator With PyQt and Python (Course)
- Rounding Numbers in Python (Course)
- Listing All Files in a Directory With Python (Course)
- Python Interfaces: Object-Oriented Design Principles (Course)
- Efficient Iterations With Python Iterators and Iterables (Course)
- Building a Python GUI Application With Tkinter (Course)
- HTML and CSS Foundations for Python Developers (Course)
- Flattening a List of Lists in Python (Course)
- Working With Global Variables in Python Functions (Course)
- Python Basics Exercises: Scopes (Course)
- Using raise for Effective Exceptions (Course)
- Generating QR Codes With Python (Course)
- Python Deep Learning: PyTorch vs Tensorflow (Course)
- Finding Python Easter Eggs (Course)
- SQLite and SQLAlchemy in Python: Move Your Data Beyond Flat Files (Course)
- Python Basics Exercises: Dictionaries (Course)
- Creating Asynchronous Tasks With Celery and Django (Course)
- Python Basics Exercises: Installing Packages With pip (Course)
- Unleashing the Power of the Console With Rich (Course)
- Create Conway's Game of Life With Python (Course)
- Python Basics Exercises: Lists and Tuples (Course)
- Building Enumerations With Python's enum (Course)
- Python Basics: Lists and Tuples (Course)
- Create a Tic-Tac-Toe Python Game Engine With an AI Player (Course)
- Python Basics Exercises: Functions and Loops (Course)
- HTTP Requests With Python's urllib.request (Course)
- Python Basics Exercises: Reading and Writing Files (Course)
- Python Basics Exercises: Strings and String Methods (Course)
- How to Get the Current Time in Python (Course)
- Advent of Code: Solving Puzzles With Python (Course)
- Python Basics Exercises: Modules and Packages (Course)
- Python Basics: Modules and Packages (Course)
- Python Basics Exercises: Numbers and Math (Course)
- Using the bpython Enhanced REPL (Course)
- Python Basics Exercises: Building Systems With Classes (Course)
- Python Basics Exercises: Object-Oriented Programming (Course)
- Using Python's min() and max() (Course)
- What's New in Python 3.12 (Course)
- Python Basics Exercises: Conditional Logic and Control Flow (Course)
- Design and Guidance: Object-Oriented Programming in Python (Course)
- Inheritance and Internals: Object-Oriented Programming in Python (Course)
- Class Concepts: Object-Oriented Programming in Python (Course)
- Create a Python Wordle Clone With Rich (Course)
- Replacing a String in Python (Course)
- Process Images Using the Pillow Library and Python (Course)
- What Does if __name__ == "__main__" Mean in Python? (Course)
- Reversing Strings in Python (Course)
- Socket Programming in Python Part 1: Handling Connections (Course)
- Creating Web Maps From Your Data With Python Folium (Course)
- Filtering Iterables With Python (Course)
- Jinja Templating (Course)
- Recursion in Python (Course)
- Python Basics: Reading and Writing Files (Course)
- Mazes in Python: Build, Visualize, Store, and Solve (Course)
- Getting the First Match From a Python List or Iterable (Course)
- Using k-Nearest Neighbors (kNN) in Python (Course)
- Metaclasses in Python (Course)
- Getting the Most Out of the Python Standard REPL (Course)
- Publishing Python Packages to PyPI (Course)
- Using Python's assert to Debug and Test Your Code (Course)
- Python Basics: Installing Packages With pip (Course)
- Using OrderedDict in Python (Course)
- Check if a Python String Contains a Substring (Course)
- YAML: Python's Missing Battery (Course)
- Summing Values the Pythonic Way With sum() (Course)
- Manipulating ZIP Files With Python (Course)
- Writing Clean, Pythonic Code With namedtuple (Course)
- Using the Terminal on Windows (Course)
- Getters and Setters in Python (Course)
- Python Basics: Building Systems With Classes (Course)
- Using the Terminal on Linux (Course)
- Python Basics: Object-Oriented Programming (Course)
- Python Basics Exercises: File System Operations (Course)
- Using the Terminal on macOS (Course)
- Build Cross-Platform GUI Apps With Kivy (Course)
- Python Basics: File System Operations (Course)
- Context Managers and Using Python's with Statement (Course)
- Python Basics: Dictionaries (Course)
- Using Python's pathlib Module (Course)
- Everyday Project Packaging With pyproject.toml (Course)
- Deploy a Django App With Gunicorn and Nginx (Course)
- Refactoring: Prepare Your Code to Get Help (Course)
- Python Basics: Scopes (Course)
- Cool New Features in Python 3.11 (Course)
- Python Basics: Numbers and Math (Course)
- Using Multiple Constructors in Your Python Classes (Course)
- Sneaky REST APIs With Django Ninja (Course)
- Building Python Project Documentation With MkDocs (Course)
- Python Basics: Conditional Logic and Control Flow (Course)
- Building Command Line Interfaces With argparse (Course)
- Python Basics: Functions and Loops (Course)
- Building a URL Shortener With FastAPI and Python (Course)
- Caching in Python With lru_cache (Course)
- Exploring Special Function Parameters (Course)
- Python Basics: Finding and Fixing Code Bugs (Course)
- Managing Attributes With Python's property() (Course)
- Using the Python not Operator (Course)
- Using the Python and Operator (Course)
- Building a Site Connectivity Checker (Course)
- Python mmap: Doing File I/O With Memory Mapping (Course)
- Combining Data in pandas With concat() and merge() (Course)
- Write and Test a Python Function: Interview Practice (Course)
- Data Cleaning With pandas and NumPy (Course)
- Exploring Scopes and Closures in Python (Course)
- Using Python Class Constructors (Course)
- Testing Your Code With pytest (Course)
- Building a Django User Management System (Course)
- Exploring Keywords in Python (Course)
- Python REST APIs With FastAPI (Course)
- Using Python's datetime Module (Course)
- Sorting Data in Python With pandas (Course)
- Counting With Python's Counter (Course)
- Exploring the Fibonacci Sequence With Python (Course)
- Starting With Linear Regression in Python (Course)
- Python any(): Powered Up Boolean Function (Course)
- Defining Python Functions With Optional Arguments (Course)
- Python's len() Function (Course)
- Looping With Python enumerate() (Course)
- Starting With Python IDLE (Course)
- Working With Pipenv (Course)
- Deploy Your Python Script on the Web With Flask (Course)
- Raising and Handling Python Exceptions (Course)
- Host Your Django Project on Heroku (Course)
- Binary, Bytes, and Bitwise Operators in Python (Course)
- Data Visualization Interfaces in Python With Dash (Course)
- Building a Neural Network & Making Predictions With Python AI (Course)
- Building Lists With Python's .append() (Course)
- Using plt.scatter() to Visualize Data in Python (Course)
- Reading Input and Writing Output in Python (Course)
- Writing Idiomatic Python (Course)
- Python Assignment Expressions and Using the Walrus Operator (Course)
- Using Pygame to Build an Asteroids Game in Python (Course)
- Cool New Features in Python 3.10 (Course)
- Rock, Paper, Scissors With Python: A Command Line Game (Course)
- Pass by Reference in Python: Best Practices (Course)
- Using Data Classes in Python (Course)
- Graph Your Data With Python and ggplot (Course)
- Splitting Datasets With scikit-learn and train_test_split() (Course)
- Exploring the Python math Module (Course)
- Reading and Writing Files With pandas (Course)
- Using the Python return Statement Effectively (Course)
- Using sleep() to Code a Python Uptime Bot (Course)
- The pandas DataFrame: Working With Data Efficiently (Course)
- Speech Recognition With Python (Course)
- The Square Root Function in Python (Course)
- Defining and Calling Python Functions (Course)
- Python Inner Functions (Course)
- Python vs JavaScript for Python Developers (Course)
- Using pandas to Make a Gradebook in Python (Course)
- Python Basics: Setting Up Python (Course)
- Explore Your Dataset With pandas (Course)
- How to Set Up a Django Project (Course)
- Using the Python or Operator (Course)
- Stacks and Queues: Selecting the Ideal Data Structure (Course)
- Simplify Python GUI Development With PySimpleGUI (Course)
- Python's map() Function: Transforming Iterables (Course)
- Learn Text Classification With Python and Keras (Course)
- Start Managing Multiple Python Versions With pyenv (Course)
- Python vs Java: Object Oriented Programming (Course)
- Understanding Python List Comprehensions (Course)
- Records and Sets: Selecting the Ideal Data Structure (Course)
- Python Booleans: Leveraging the Values of Truth (Course)
- Django View Authorization: Restricting Access (Course)
- Navigating Namespaces and Scope in Python (Course)
- Dictionaries and Arrays: Selecting the Ideal Data Structure (Course)
- Creating PyQt Layouts for GUI Applications (Course)
- Python Modulo: Using the % Operator (Course)
- Plot With pandas: Python Data Visualization Basics (Course)
- Evaluate Expressions Dynamically With Python eval() (Course)
- Introduction to Sorting Algorithms in Python (Course)
- Building HTTP APIs With Django REST Framework (Course)
- Django Admin Customization (Course)
- Serializing Objects With the Python pickle Module (Course)
- Python Turtle for Beginners (Course)
- Speed Up Python With Concurrency (Course)
- How Python Manages Memory (Course)
- Formatting Python Strings (Course)
- Regular Expressions and Building Regexes in Python (Course)
- Handling Missing Keys With the Python defaultdict Type (Course)
- Simulating Real-World Processes in Python With SimPy (Course)
- Creating a Binary Search in Python (Course)
- Getting Started With MicroPython (Course)
- Web Scraping With Beautiful Soup and Python (Course)
- Cool New Features in Python 3.9 (Course)
- Using Google Login With Flask (Course)
- Working With Linked Lists in Python (Course)
- Command Line Interfaces in Python (Course)
- Exploring HTTPS and Cryptography in Python (Course)
- Editing Excel Spreadsheets in Python With openpyxl (Course)
- Django Redirects (Course)
- Identify Invalid Python Syntax (Course)
- Practical Recipes for Working With Files in Python (Course)
- Python's None: Null in Python (Course)
- Mastering Python's Built-in time Module (Course)
- Grow Your Python Portfolio With 13 Intermediate Project Ideas (Course)
- Pointers and Objects in Python (Course)
- Unicode in Python: Working With Character Encodings (Course)
- Creating a Discord Bot in Python (Course)
- Python Generators 101 (Course)
- Getting the Most Out of a Python Traceback (Course)
- Parallel Iteration With Python's zip() Function (Course)
- A Beginner's Guide to pip (Course)
- Convert a Python String to int (Course)
- Improve Your Tests With the Python Mock Object Library (Course)
- The Python print() Function: Go Beyond the Basics (Course)
- Structuring a Python Application (Course)
- Python Coding Interviews: Tips & Best Practices (Course)
- Inheritance and Composition: A Python OOP Guide (Course)
- Comparing Python Objects the Right Way: "is" vs "==" (Course)
- Using NumPy's np.arange() Effectively (Course)
- Defining Main Functions in Python (Course)
- Implementing a Stack in Python (Course)
- How to Work With a PDF in Python (Course)
- Playing and Recording Sound in Python (Course)
- Using Sets in Python (Course)
- Exploring Basic Data Types in Python (Course)
- Supercharge Your Classes With Python super() (Course)
- Python args and kwargs: Demystified (Course)