A singleton is an object for which there is only one instance in the entire system. Examples of potential singletons include:
You aren't supposed to go onto stackoverflow and blindly cut and paste the first solution you find into your own code.
If you look at several related questions on stackoverflow, read the solutions and comments, then take the time to understand how they work, why upvoted solutions are good, and why the downvoted solutions are bad, you will learn a great deal.
It is a fantastic resource, if you are willing to put the effort in and use it as a learning tool.
Using the Pillow deform function
You can use the Pillow ImageOps
deform function to apply general deformations to an image. Typical deformations include:
You can use the
deform function to correct for these types of distortion in a photograph. You can also…
Stop wasting time trying to manually install those difficult modules.
Python is great, made better by the extensive infrastructure provided by open-source modules.
What isn’t always so great is installing all the modules you need, and making sure they are all mutually compatible with your version of Python and with each other.
With many modules, you might need a different version depending on the version of Python you are using, and maybe also on your operating system (Windows, Mac, and different flavours of Linux might each require a different version of some modules). …
In this article we will see how to create Voronoi diagrams in Python, using Scipy and generativepy.
This image shows a set of seed points. We have placed the seed points randomly, but you could place the points according to some pattern if you prefer.
In this article we will look at exceptions:
This article is taken from my book Python Quick Start.
Computer programs sometimes go wrong. There are three broad types of error you will encounter when you are writing code:
Syntax errors occur when the code you type in isn’t valid. This is often due to typing errors or misunderstanding Python syntax. For example:
s = [1, 2, 3…
Slicing allows us to access part of a list or other sequence. In this article we will see how to:
This article is from my book Python Quick Start.
We already know how to obtain a list element by indexing:
k = [10, 20, 30, 40, 50]
print(k) # 20
k references element number
1 of list
k, which is the second element because elements are numbered…
Making your plots zing.
Matplotlib allows you to control many aspect of your graphs. In this article we will see how to style line plots. This includes
You can choose to plot data points using lines, or markers, or both.
Matplotlib has a simple notation to set the colour, line style and marker style using a coded text string, for example ‘r:’ creates a red, dottedline. …
This article is a quick guide on how to create and run your own open-source project. Specifically, it assumes it will be a Python project, although many of the things covered here can be applied to other types of project.
This isn’t a guide on how to set up a GitHub account and commit your first source files. Instead, it focusses on the wider whys and hows of open source development, and will hopefully help you to avoid the common pitfalls.
People create open-source software for many different reasons.
Quite often, a developer will decide to create a piece of…
What I learned from writing three Python books in a year
Over the past year or so, I have written three e-books on various topics in Python programming. Although I certainly don’t consider myself to be an expert on self-publishing, I have learned a bit in this time, so I will share it here. I hope you might find it useful.
This article covers four stages:
I have found the whole process takes me about 3 months, if I put most of my hobby time…