Got a class and want 2 different constructors that make different things happen depending on the number of parameters given. I thought that it should work if a constructor has a different number of parameters..?..
class User:
    def __init__(self, username, password, doB):
        self.username=username
        self.password=md5hash(password)
        self.doB=doB
    def __init__(self, username, cursor): 
        self.username=username
        cursor.execute("SELECT password, doB, doAccount, favourites FROM useraccount WHERE username = %s;", (self.username,))
        userData=cursor.fetchone()
        self.password = userData[0]
        self.doB = userData[1]
        self.doA = userData[2]
        self.favourites = userData[3]
    def printDoB(self):
        print(self.doB)
    def userGetter(self):
        return self.username
    
        
u1=User("matt", "1233", "11-10-02")
u1.printDoB()
User.__init__() takes 3 positional arguments but 4 were given
 
     
     
    