About Dan Bader
Hey, I’m Dan Bader and I help Python developers take their coding skills and productivity to the next level. I’m an independent software engineer, author, and speaker. I’ve been developing software for 15 years—and I’d love to help you become a more proficient Python coder.
Here’s where you can find me elsewhere on the web:
Tutorials by Dan:
- Python String Formatting Best Practices
- Shallow vs Deep Copying of Python Objects
- Python's Instance, Class, and Static Methods Demystified
- How to Write Pythonic Loops (Course)
- Functional Programming in Python (Course)
- OOP Method Types in Python: @classmethod vs @staticmethod vs Instance Methods (Course)
- Writing Cleaner Python Code With PyLint (Course)
- Python Context Managers and the "with" Statement (Course)
- Immutability in Python (Course)
- Pythonic OOP String Conversion: __repr__ vs __str__ (Course)
- Emulating switch/case Statements in Python (Course)
- Using List Comprehensions Effectively (Course)
- Working With Python Virtual Environments (Course)
- Welcome to Real Python! (Course)
Tutorials Dan Contributed to:
- Run Python Versions in Docker: How to Try the Latest Python Release
- Getting Started With Python IDLE
- Python REST APIs With Flask, Connexion, and SQLAlchemy – Part 4
- Digging Deeper Into Django Migrations
- Real Python at PyCon US 2019
- Object-Oriented Programming in Python vs Java
- How to Get the Most Out of PyCon
- Python REST APIs With Flask, Connexion, and SQLAlchemy – Part 3
- What Is Pip? A Guide for New Pythonistas
- The Ultimate List of Data Science Podcasts
- Django Migrations: A Primer
- Make a Location-Based Web App With Django and GeoDjango
- How to Write Beautiful Python Code With PEP 8
- Python REST APIs With Flask, Connexion, and SQLAlchemy – Part 2
- Splitting, Concatenating, and Joining Strings in Python
- Logging in Python
- The Best Python Books
- Primer on Python Decorators
- The Ultimate Guide to Django Redirects
- Advanced Git Tips for Python Developers
- Python Code Quality: Tools & Best Practices
- Documenting Python Code: A Complete Guide
- Lists and Tuples in Python
- Strings and Character Data in Python
- Python Histogram Plotting: NumPy, Matplotlib, Pandas & Seaborn
- Cool New Features in Python 3.7
- 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
- Python 3's f-Strings: An Improved String Formatting Syntax (Guide)
- Operator and Function Overloading in Custom Python Classes
- Python Metaclasses
- 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
- The Ultimate Guide To Speech Recognition With Python
- 4 Techniques for Testing Python Command-Line (CLI) Apps
- Python IDEs and Code Editors (Guide)
- Python Project for Beginners: Bitcoin Price Notifications
- What is the Python Global Interpreter Lock (GIL)?
- Python Plotting With Matplotlib (Guide)
- Modern Web Automation With Python and Selenium
- Practical Introduction to Web Scraping in Python
- Python Virtual Environments: A Primer
- First Steps With Python
- Setting Up Sublime Text 3 for Full Stack Python Development
- Documenting Python Code: A Complete Guide (Course)
- Variables in Python (Course)
- Python, Boto3, and AWS S3: Demystified (Course)
- Python KeyError Exceptions and How to Handle Them (Course)
- Threading in Python (Course)
- 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)
- 11 Beginner Tips for Learning Python (Course)
- Dictionaries in Python (Course)
- Logging in Python (Course)
- Reading and Writing Files in Python (Course)
- Generating Random Data in Python (Course)
- How to Publish Your Own Python Package to PyPI (Course)
- Introduction to Git and GitHub for Python Developers (Course)
- Interactive Data Visualization in Python With Bokeh (Course)
- Hands-on Python 3 Concurrency With the asyncio Module (Course)
- Idiomatic Pandas: Tricks & Features You May Not Know (Course)
- Intro to Object-Oriented Programming (OOP) in Python (Course)
- Test-Driven Development With PyTest (Course)
- Splitting, Concatenating, and Joining Strings in Python (Course)
- Reading and Writing CSV Files (Course)
- For Loops in Python (Definite Iteration) (Course)