About Bartosz Zaczyński
My name is Bartosz. I’m a bootcamp instructor, author, and polyglot programmer in love with Python. I help my students get into software engineering through lectures and mentoring.
I’m a seasoned developer with over a decade of commercial experience and another decade of coding as a passion. During my professional career, I worked for big and recognizable names, but also for medium-sized software houses and a few start-ups.
If you’d like to know more about me, hit the links below:
Tutorials by Bartosz:
- Expression vs Statement in Python: What's the Difference?
- Structural Pattern Matching in Python
- Python 3.13 Preview: Free Threading and a JIT Compiler
- Python News Roundup: September 2024
- Build a Guitar Synthesizer: Play Musical Tablature in Python
- Python News: What's New From May 2024
- What Is the __pycache__ Folder in Python?
- Install and Execute Python Applications Using pipx
- Reading and Writing WAV Files in Python
- Python News: What's New From February 2024
- What Are Python Raw Strings?
- Python's Array: Working With Numeric Data Efficiently
- Serialize Your Data With Python
- How to Sort Unicode Strings Alphabetically in Python
- Python News: What's New From September 2023
- Bypassing the GIL for Parallel Processing in Python
- Profiling in Python: How to Find Performance Bottlenecks
- Python 3.12 Preview: Support For the Linux perf Profiler
- What's the Zen of Python?
- How to Launch an HTTP Server in One Line of Python Code
- Python News: What's New From April 2023
- Build Robust Continuous Integration With Docker and Friends
- Build a Maze Solver in Python Using Graphs
- Executing Python Scripts With a Shebang
- How to Split a Python List or Iterable Into Chunks
- Discover bpython: A Python REPL With IDE-Like Features
- Microsoft Power BI and Python: Two Superpowers Combined
- Python News: What's New From October 2022
- Build a Tic-Tac-Toe Game Engine With an AI Player in Python
- How to Find an Absolute Value in Python
- GitHub Copilot: Fly With Python at the Speed of Thought
- Python Stacks, Queues, and Priority Queues in Practice
- A First Look at PyScript: Python in the Web Browser
- YAML: The Missing Battery in Python
- Build a Hash Table in Python With TDD
- Python News: What's New From February 2022
- Draw the Mandelbrot Set in Python
- A Roadmap to XML Parsers in Python
- Representing Rational Numbers With Python Fractions
- Hosting a Django Project on Heroku
- Python News: What's New From August 2021
- Simplify Complex Numbers With Python
- Bitwise Operators in Python
- Python vs JavaScript for Pythonistas
- How to Do a Binary Search in Python
- Your Guide to the Python print() Function
- Python Basics Exercises: Reading and Writing Files (Course)
- Python Basics Exercises: Numbers and Math (Course)
- Python Basics: Reading and Writing Files (Course)
- Python Basics: Numbers and Math (Course)
- Host Your Django Project on Heroku (Course)
Tutorials Bartosz Contributed to:
- Python Set Comprehensions: How and When to Use Them
- Python Timer Functions: Three Ways to Monitor Your Code
- Effective Python Testing With pytest
- Asynchronous Tasks With Django and Celery
- Using and Creating Global Variables in Your Python Functions
- Linear Regression in Python
- How to Round Numbers in Python
- Python GUI Programming With Tkinter
- Socket Programming in Python (Guide)
- When to Use a List Comprehension in Python
- Basic Input and Output in Python
- Python Exceptions: An Introduction
- Beautiful Soup: Build a Web Scraper With Python
- Python String Formatting: Available Tools and Their Features
- Python Virtual Environments: A Primer
- Python's F-String for String Interpolation and Formatting
- Continuous Integration and Deployment for Python With GitHub Actions
- Speed Up Your Python Program With Concurrency
- Python range(): Represent Numerical Ranges
- Using the len() Function in Python
- Python Closures: Common Use Cases and Examples
- Python's property(): Add Managed Attributes to Your Classes
- Python 3.13: Cool New Features for You to Try
- Python 3.13 Preview: A Modern REPL
- How to Use Conditional Expressions With NumPy where()
- Generate Images With DALL·E and the OpenAI API
- Web Scraping With Scrapy and MongoDB
- Python Classes: The Power of Object-Oriented Programming
- Asynchronous Iterators and Iterables in Python
- Functional Programming in Python: When and How to Use It
- Strings and Character Data in Python
- Hugging Face Transformers: Leverage Open-Source AI in Python
- Python Protocols: Leveraging Structural Subtyping
- Working With JSON Data in Python
- Ruff: A Modern Python Linter for Error-Free and Maintainable Code
- Python Mappings: A Comprehensive Guide
- String Interpolation in Python: Exploring Available Tools
- What Are CRUD Operations?
- The Python calendar Module: Create Calendars With Python
- What's Lazy Evaluation in Python?
- How to Format Floats Within F-Strings in Python
- Prompt Engineering: A Practical Example
- Visualizing Data in Python With Seaborn
- Duck Typing in Python: Writing Flexible and Decoupled Code
- Dependency Management With Python Poetry
- Python's Magic Methods: Leverage Their Power in Your Classes
- How to Render Markdown in a Django Application
- How to Use Type Hints for Multiple Return Types in Python
- Python 3.12 Preview: Static Typing Improvements
- Click and Python: Build Extensible and Composable CLI Apps
- How to Download Files From URLs With Python
- Python 3.12 Preview: More Intuitive and Consistent F-Strings
- Python's list Data Type: A Deep Dive With Examples
- Python News: What's New From June 2023
- Unlock IPython's Magical Toolbox for Your Coding Journey
- Python's raise: Effectively Raising Exceptions in Your Code
- Choosing the Best Coding Font for Programming
- Python's .__call__() Method: Creating Callable Instances
- SOLID Principles: Improve Object-Oriented Design in Python
- How to Get Normally Distributed Random Numbers With NumPy
- Python's pathlib Module: Taming the File System
- Python News: What's New From March 2023
- Python 3.12 Preview: Ever Better Error Messages
- How to Read Python Input as Integers
- When Should You Use .__repr__() vs .__str__() in Python?
- How to Evaluate the Quality of Python Packages
- Python's Mutable vs Immutable Types: What's the Difference?
- Iterators and Iterables in Python: Run Efficient Iterations
- Develop Data Visualization Interfaces in Python With Dash
- Advent of Code: Solving Your Puzzles With Python
- Python's doctest: Document and Test Your Code at Once
- Minimax in Python: Learn How to Lose the Game of Nim
- Build Enumerations of Constants With Python's Enum
- Custom Python Strings: Inheriting From str vs UserString
- Custom Python Lists: Inheriting From list vs UserList
- HTML and CSS for Python Developers
- Sorting a Python Dictionary: Values, Keys, and More
- Your Python Coding Environment on Windows: Setup Guide
- Custom Python Dictionaries: Inheriting From dict vs UserDict
- Python and TOML: New Best Friends
- Python 3.11 Preview: TOML and tomllib
- Build a Tic-Tac-Toe Game With Python and Tkinter
- The subprocess Module: Wrapping Programs With Python
- LBYL vs EAFP: Preventing or Handling Errors in Python
- How to Publish an Open-Source Python Package to PyPI
- Build a URL Shortener With FastAPI and Python
- Real Python at PyCon US 2022
- Pagination for a User-Friendly Django App
- Python Class Constructors: Control Your Object Instantiation
- Python's urllib.request for HTTP Requests
- Python's assert: Debug and Test Your Code Like a Pro
- Providing Multiple Constructors in Your Python Classes
- Python's zipfile: Manipulate Your ZIP Files Efficiently
- Python's all(): Check Your Iterables for Truthiness
- Modulo String Formatting in Python
- Build a Dice-Rolling Application With Python
- Build and Submit HTML Forms With Django – Part 4
- Build and Handle POST Requests in Django – Part 3
- Build a Django Front End With Bulma – Part 2
- Build a Social Network With Django – Part 1
- Python Zip Imports: Distribute Modules and Packages Quickly
- Java vs Python: Basic Python for Java Developers
- Prettify Your Data Structures With Pretty Print in Python
- Securely Deploy a Django App With Gunicorn, Nginx, & HTTPS
- Advanced Visual Studio Code for Python Developers
- Python's zipapp: Build Executable Zip Applications
- Using the "not" Boolean Operator in Python
- Python's sum(): The Pythonic Way to Sum Values
- Reverse Strings in Python: reversed(), Slicing, and More
- Django Templates: Built-In Tags and Filters
- Using the "and" Boolean Operator in Python
- Using Python Optional Arguments When Defining Functions
- Python's deque: Implement Efficient Queues and Stacks
- Python's ChainMap: Manage Multiple Contexts Effectively
- Python's collections: A Buffet of Specialized Data Types
- Your First Steps With Django: Set Up a Django Project
- Using FastAPI to Build Python Web APIs
- What Can I Do With Python?
- Python's Counter: The Pythonic Way to Count Objects
- Reverse Python Lists: Beyond .reverse() and reversed()
- Python's filter(): Extract Values From Iterables
- Context Managers and Python's with Statement
- Visualizing Data in Python Using plt.scatter()
- Embedded Python: Build a Game on the BBC micro:bit
- Write Pythonic and Clean Code With namedtuple
- Recursion in Python: An Introduction
- Build a Platform Game in Python With Arcade
- Deploying a Python Flask Example Application Using Heroku
- The k-Nearest Neighbors (kNN) Algorithm in Python
- OrderedDict vs dict in Python: The Right Tool for the Job
- Python and MongoDB: Connecting to NoSQL Databases
- pandas Sort: Your Guide to Sorting Data in Python
- Qt Designer and Python: Build Your GUI Applications Faster
- Python Web Applications: Deploy Your Script as a Flask App
- Stochastic Gradient Descent Algorithm With Python and NumPy
- How to Use Python: Your First Steps
- NumPy Tutorial: Your First Steps Into Data Science in Python
- Python's .append(): Add Items to Your Lists in Place
- Python and MySQL Database: A Practical Introduction
- Use PyQt's QThread to Prevent Freezing GUIs
- Handling SQL Databases With PyQt: The Basics
- np.linspace(): Create Evenly or Non-Evenly Spaced Arrays
- Python and PyQt: Creating Menus, Toolbars, and Status Bars
- Use Sentiment Analysis With Python to Classify Movie Reviews
- Caching in Python Using the LRU Cache Strategy
- Get Started With Django Part 3: Django View Authorization
- Simulate a Text File in Python (Course)
- Finding Python Easter Eggs (Course)
- Python Basics Exercises: Dictionaries (Course)
- Python Basics Exercises: Installing Packages With pip (Course)
- Create a Tic-Tac-Toe Python Game Engine With an AI Player (Course)
- Python Basics Exercises: Reading and Writing Files (Course)
- Python Basics Exercises: Strings and String Methods (Course)
- Python Basics Exercises: Modules and Packages (Course)
- Using the bpython Enhanced REPL (Course)
- Mazes in Python: Build, Visualize, Store, and Solve (Course)
- YAML: Python's Missing Battery (Course)
- Python Basics Exercises: File System Operations (Course)
- Python Basics: File System Operations (Course)
- Python Basics: Dictionaries (Course)
- Host Your Django Project on Heroku (Course)
- Binary, Bytes, and Bitwise Operators in Python (Course)
- Python vs JavaScript for Python Developers (Course)
- Creating a Binary Search in Python (Course)
- The Python print() Function: Go Beyond the Basics (Course)