I have a class that I want it to accept an instance of that same class as initialization; in such case, it will simply return that instance.
The reason is that I want this class to accept a myriad of initialization values and then the proceeding code can use this as an object with known properties, independent on how it was initialized.
I have thought of something like:
class c(object):
  def __new__(cls, *args, **kwargs):
    if isinstance(args[0], c):
      return args[0]
    else:
      return super(c, cls).__new__(cls, *args, **kwargs)
The problem is that I don't want __init__() to be called when initialized in this manner.  Is there any other way?
Thanks!
 
     
     
     
    