about super().__call__(*args,**kwargs)
class Singleton(type):
def __call__(cls, *args, **kwargs): if cls.instance is None: cls.instance = super().__call__(*args, **kwargs) print(cls.instance) return cls.instance
class Capital(metaclass=Singleton): instance=None def init(self, cityname): self.cityname = city_name
def name(self): return self.city_name
In the CapitalCity answers I saw codes like above. I have difficulty in understanding what is happening in the 4th line.
"cls.instance=super().call(args,*kwargs)".
I've searched and understood super() here refers to class 'type'. I thought this line is bizarre, because although call method requires information about the type of instance to be instantiated, there seems to be no information about that.
I would appreciate it if someone could explain about this.