earn the White PyBites Ninja earn the Yellow PyBites Ninja earn the Orange PyBites Ninja right arrow earn more PyBites Ninja belts and certificates
The best way to learn to code in Python is to actually use the language.

Our platform offers effective Test Driven Learning which will be key to your progress.


Join thousands of Pythonistas and start coding!


Join us on our PyBites Platform
Click here to code!

Watermarking photos? "I can do that in Python!"

Posted by Anthony Lister on Mon 24 June 2019 in Concepts • Tagged with pillow, images, png, jpg, resize, watermarking, image manipulation, PIL • 15 min read

My wife is setting up a business from home and wanted to protect photos of her work submitted to social media sites and the web in general. "I can do that using Python!", I exclaimed, thinking I had seen a tutorial showing how ages ago. Laptop open, I set to work and found my bookmarked tutorial. It was using OpenCV2 and even after ~70 odd days of my #100DaysOfCode journey, I didn't really understand it well enough to configure it myself if I had to make changes. (OpenCV is on my list of things to do after my #100Days). I remembered reading about Pillow, or PIL as it is sometimes known, and started to read the docs for it. Challenge to myself accepted!


Continue reading

A Short Primer on Assemblers, Compilers and Interpreters

Posted by Erik O'Shaughnessy on Tue 09 October 2018 in Concepts • Tagged with computer, programming, history, interpreters, assembly, C, high level languages, math • 6 min read

A gentle introduction to the historical evolution of programming practices.


Continue reading

A Python Orientation - How to Get Started

Posted by Andrew Knight on Fri 17 August 2018 in Concepts • Tagged with guest, 2vs3, CPython, PyPy, MicroPython, pip, pipenv, venv, virtualenv, Conda, editors, Pythonic, Pythonista, Zen of Python, pycon, PSF, BDFL, overview, reference • 5 min read

Python is a wonderful language for both beginners and expert programmers, but getting started can be daunting. Which version should I use? Which editors are best? What do you mean there are different implementations and environments? Here's a guide to help navigate these big FAQs.


Continue reading

How Encoding Works in Python

Posted by Aviral Verma on Thu 21 June 2018 in Concepts • Tagged with ascii, unicode • 13 min read

We all know that the computer cannot store letters or numbers so we need some kind of mapping from these letters/numbers to bit strings (the only thing a computer can understand). One such known mapping is ASCII. If you're not sure about ASCII and Unicode, let Aviral give you an introduction ...


Continue reading

Learning Python Decorators by Example

Posted by Bob on Fri 20 October 2017 in Concepts • Tagged with decorators, design patterns, logging, caching, memoization, Flask, Django, properties, classmethod, staticmethod, lru_cache, mock.patch, contextmanager • 4 min read

Decorators are a sometimes overlooked feature and they might be hard to grasp for beginning Pythonistas. I agree with Aaron Maxwell that mastering them "can massively magnify the positive impact of the code you write", so make sure you add them to your toolkit if not done so already. In this article I explain what they do, why you want to use them and give some practical examples.


Continue reading

The Importance of Refactoring Code

Posted by Julian on Thu 13 July 2017 in Concepts • Tagged with python, beginner, learning, examples, code, refactoring • 4 min read

In this quick post I discuss why refactoring code is one of the most important parts of the learning process.


Continue reading

Next Time I Will Use Pandas to Parse Html Tables

Posted by Bob on Thu 08 June 2017 in Concepts • Tagged with BeautifulSoup, regex, Pandas, parsing, data, data cleaning, energy, json, csv, html • 2 min read

Last week I did some html table parsing with BeautifulSoup and regex. It turns out there is an easier way to do this: Pandas.


Continue reading

OOP Beyond the Basics: Using Properties for Encapsulation, Computation and Refactoring

Posted by Bob on Wed 31 May 2017 in Concepts • Tagged with oop, property, decorators, encapsulation, computation, dunder, refactoring, pytest, 2vs3, getter, setter • 4 min read

In this article I share my learning of the property decorator coding a simple Account class. I think it's an unmissable tool in your (Python) OOP toolkit.


Continue reading

Generators are Awesome, Learning by Example

Posted by Julian on Fri 17 March 2017 in Concepts • Tagged with python, tips, code, pybites, generators, iteration, yield • 5 min read

Learn what a Generator is and check out some different examples.


Continue reading

Don't let mutability of compound objects fool you!

Posted by Bob on Tue 07 March 2017 in Concepts • Tagged with list, mutable, copy, deepcopy • 3 min read

In this article I explain the difference between shallow versus deep copy with a working example. It's an important concept when working with compound objects.


Continue reading