Что за объект next в PythonConsole PyCharm?
У меня есть код для односвязного списка:
class StackObj:
def __init__(self, data):
self.__data = data
self.next = None
@property
def next(self):
return self.__next
@next.setter
def next(self, val):
self.__next = val
class Stack:
def __init__(self):
self.top = None
self.__last = None
def push_back(self, obj):
if self.top is None:
self.top = obj
self.__last = obj
else:
self.__last.next = obj
self.__last = obj
def pop_back(self):
obj = self.top
while obj.next != self.__last:
obj = obj.next
obj.next = None
self.__last = obj
def __add__(self, other):
self.push_back(other)
return self
def __mul__(self, other):
for elem in other:
self.push_back(StackObj(elem))
return self
Я создаю список, объект, пушаю этот объект в список:
st = Stack()
o1 = StackObj('o1')
st.push_back(o1)
Вопрос, таков: что за next у меня в PythonConsole? Типо ссылка на следующий объект это приватный атрибут и он ниже написан, _StackObj__next. А вот что за просто next, значение которого None? У меня есть единственное предположение, что это свойство-property, но тогда почему оно NoneType?
Источник: Stack Overflow на русском