Quick private constructors in Python

Private constructors can be very convenient. Sometimes we want the users of a class to use functions with explicit names to construct them, which can also return null or error objects in case of failure instead of throwing an exception. However, Python doesn't have private constructors, so they are a pattern we can't write in this language... Or can we? TL;DR: Use a guard object to make private…