super() returns an instance of the base class, so self implicitly passed to __init__() , as in any other method call.
As for your second question, this is correct. Calling super() without an instance, as the second argument returns a reference to the class itself, and not an instance built from your subclass instance.
source share