В Python, когда вы пишете методы внутри объекта, вам нужно ставить перед всеми ссылками на переменные, принадлежащие этому объекту, значение self. - вот так:
class getlist:
def newlist(self,*number):
self.lst=[]
self.lst += number #I changed this to add all args to the list
def printlist(self):
return self.lst
Код, который у вас был ранее, создавал и изменял локальную переменную с именем lst, поэтому она могла исчезнуть между вызовами.
Также обычно делают конструктор со специальным именем __init__
:
class getlist:
#Init constructor
def __init__(self,*number):
self.lst=[]
self.lst += number #I changed this to add all args to the list
def printlist(self):
return self.lst
Наконец, используйте вот так
>>> newlist=getlist(1,2,3, [4,5])
>>> newlist.printlist()
[1, 2, 3, [4,5]]