this is more like a nested node, where the the first part of the node stores the present data, and the second part stores the next node.
actually, temp in Listing 4 is address of the Node(item).
since we do not define the object of the Node to be a specific data type --- str, int, or float in Python, so the name of the class object only stores the address of the object. See the code below running in jupyter-qtconsole:
class Number:
def __init__(self, number):
self.number=number
def __str__(self):
return str(self.number)
x=Number(19)
x
Out[4]: <main.Number at 0x1098d8cf8>
str(x)
Out[5]: '19'
print(x)
19