I am trying to append to a list by using a Class, however I get the following error:
TypeError: __init__() takes 1 positional argument but 3 were given
This is the code:
lijst = []
# Class voor Student
class Student:
# Constructor
def __init__(self):
self.__achternaam = ''
self.__voornaam = ''
# Attribuut achternaam
def setAchternaam(self, achternaam):
self.__achternaam = achternaam
def getAchternaam(self):
return self.__achternaam
achternaam = property(getAchternaam, setAchternaam)
# Attribuut voornaam
def setVoornaam(self, voornaam):
self.__voornaam = voornaam
def getVoornaam(self):
return self.__voornaam
voornaam = property(getVoornaam, setVoornaam)
lijst.append(Student('Quinten' , 'Vollmer'))
lijst.append(Student('Jochem' , 'Legue'))
lijst.append(Student('Johan' , 'Jansen'))
I have tried the following:
class Student:
# Constructor
def __init__(self, achternaam, voornaam):
self.__achternaam = achternaam
self.__voornaam = voornaam
However the output becomes:
[<__main__.Student object at 0x0000017614279FD0>, <__main__.Student object at 0x00000176142798E0>, <__main__.Student object at 0x00000176142797F0>]
Don't know how to fix it.