From my understanding, the inbound_nodes=[] passed to the init just declares an empty list. So even if I create a subclass of Node and in that subclass call this init function with no arguments passed, the __init__function would still work, as it declared an empty list itself.
Am I right?
The next question is, we can see that self.inbound_nodes = inbound_nodes.
Does it mean, that self.inbound_nodes is also an empty list but inside the Node superclass? If so, why can't I just declare self.outbound_nodes in the same way?
And the last question is, what does the last for loop does?