FAQ: Nodes: Python - Nodes Python Getters

This community-built FAQ covers the “Nodes Python Getters” exercise from the lesson “Nodes: Python”.

Paths and Courses
This exercise can be found in the following Codecademy content:

Computer Science

Linear Data Structures

FAQs on the exercise Nodes Python Getters

There are currently no frequently asked questions associated with this exercise – that’s where you come in! You can contribute to this section by offering your own questions, answers, or clarifications on this exercise. Ask or answer a question by clicking reply (reply) below.

If you’ve had an “aha” moment about the concepts, formatting, syntax, or anything else with this exercise, consider sharing those insights! Teaching others and answering their questions is one of the best ways to learn and stay sharp.

Join the Discussion. Help a fellow learner on their journey.

Ask or answer a question about this exercise by clicking reply (reply) below!

Agree with a comment or answer? Like (like) to up-vote the contribution!

Need broader help or resources? Head here.

Looking for motivation to keep learning? Join our wider discussions.

Learn more about how to use this guide.

Found a bug? Report it!

Have a question about your account or billing? Reach out to our customer support team!

None of the above? Find out where to ask other questions here!

Hello,

Can somebody please explain the logic of the below?
def get_value(self):
return self.value

My logic was the below and I don’t understand how does the method know what self.value is if it’s not mentioned anywhere.
def get_value(self):
self.value = value
return self.value

Thank you

1 Like

I believe because they are under the same class we have the value. But it is one method within the class so that a little confusing to me too as I can not really explain it.

So here, because you have already created a node, lets say it is node_a= node(11, node_b), and you want to return the value you can write node_a.get_value(), and this would return the value of the node_a.

Why do we have a method to retrieve the value and the next node:
def get_value():
return self.value
def get_link_node():
return self.link_node

when we could just use:
self.value
self.link_node

1 Like

When a Node object is instantiated (created), the Node class’s constructor function (__init__) fires automatically and sets self.value. From this point forward, we can be sure that this value is present (or null) and tied to the instantiated object.

For example, when we instantiate a Node object like this:

myNode = Node("value")

The following code fires to instantiate the object:

class Node:
  def __init__(self, value, link_node=None):
    self.value = value
    self.link_node = link_node

Every time you see “self” consider that to be whatever you named your instantiated object. In my case, I called it “myNode”. The value instance variable is set to the string "value" since that is what I passed in as the first positional argument. The link_node instance variable was set to None automatically since I didn’t pass in a second argument, although I could have.

Now, my object is instantiated and it has a value attribute. The instructions then ask us to create a getter function to retrieve that value.

def get_value(self):
  return self.value

Again, think of self as the name we used to instantiate the object. In my case, I called it “myNode”. So, when I call the get_value() method on my instantiated object, it will return the value I specified when I originally instantiated the object.

print(myNode.get_value()) // Returns: value

I could also obtain the same value this way:

print(myNode.value) // Returns: value

However, I believe Codecademy is trying to teach us about getter functions in this lesson, and how they are important when working with Data Structures.

Hope that helps!

3 Likes