Python method question


#1

i was reading this documentation, but i got slightly confused here:

class MyUserManager(BaseUserManager):
    def create_user(self, email, date_of_birth, password=None):
        user = self.model(
            email=self.normalize_email(email),
            date_of_birth=date_of_birth,
        )

    def create_superuser(self, email, date_of_birth, password):
        user = self.create_user(
            email,
            password=password,
            date_of_birth=date_of_birth,
        )

the create_superuser method call the create_user method, but why:

email,
password=password,
date_of_birth=date_of_birth,

why not:

email, 
date_of_birth,
password,

what is the difference between supplying arguments in this difference ways?


#2

never mind, i solved it

this allows to specify which argument belongs to which parameter