I think you can only have one object for every given object, since it is the function that gets called on that object's initialization, having two would just be confusing.
If you are looking for constructor overloading, you could exploit inheritance as my colleagues have explained.
If you however are just looking for an aesthetically pleasing way of not doing huge amounts of calculations in your __init__ method, sticking to the declaration of attributes, what you could do is define a bunch of "constructor helper" modules, for an example, if you have a geometrical object and you don't want to straight up compute things such as area and perimeter in the init, you could define methods to calculate those and then call them into your contructor, having them initialize those variables inside themselves, or if you prefer, have then return values that then get assigned into attributes in the __init__, which would be a more OOP-way
If the methods are appropriately named (calculateArea) the reader should immediately get what their purpose is without having to look at all the ugly calculations, that are obfuscated inside them.
this way you can have a single constructor that then branches in calling multiple other methods, which is something close to what you asked, I think.