I came across the following constructor recently, but don't quite understand what a bunch of it is referencing:
class EobiExchange(L3Exchange):
    def __init__(self, *args, **kwargs):
        self.reference_template_data = None
        super().__init__(*args, **kwargs)
- I do understand that super().__init__()means that it is inheriting from its Parent's Constructor? - please correct me if I am wrong! (i.e.L3Exchange's constructor in this case)
- But what I completely don't understand is what the *args,**kwargsmean; I understand them in the general terms like it means you can pass in any number of arguments? But in this context I don't quite see it. Any example would be so helpful. Thanks
- Lastly, if we have class EobiExchange(), but still usedsuper(), what would the EobiExchange's constructor be referencing in this case? Is it other classes that have been defined within the same file but further up to this class?
 
     
    
