This community-built FAQ covers the “Queues Python Introduction” exercise from the lesson “Queues: Python”.
Paths and Courses
This exercise can be found in the following Codecademy content:
Computer Science
Linear Data Structures
FAQs on the exercise Queues Python Introduction
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 (
) 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 (
) below!
Agree with a comment or answer? 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!
Why do we used get() and set() methods instead of just getting data through node.name or node.size setting it through node.name = or node.size = ? . Going through this lesson I can substitute node.name for any node.get_name() and it doesn’t change the outcome (which makes sense since the method just returns node.name anyway). Feels like an extra step and I can’t figure out why we need it.
the extra step can be useful, for example if you have an array and you always want to return a string representation, then you can define getter to use each time, rather then using join everywhere.
these kind of abstractions become useful once your program becomes larger
3 Likes
Here’s a long one…here are steps 4 and 5 :
4.
Define another method is_empty
for Queue
. The method should return True
if the queue is empty (if the size of the queue is 0).
5.
Now we’ll make sure we aren’t attempting to peek()
on an empty queue. After all, a deli server can’t get an order from a line with no customers!
At the top of your peek()
method body, use get_size()
to see if the queue is empty.
- if so, the method should just print “Nothing to see here!”
- if not,
peek()
will perform the same as it did before
===> We just made is_empty()…why use get_size() to “see if the queue is empty” LOLOLOL???
Oh! The next section shows that your answer did use is_empty there, FWIW.
Hi there!
I’m still struggling to understand why when defining the peek() method the correct answer is:
def peek(self):
return self.head.get_value()
not the:
def peek(self):
return head.get_value()
Because we have already stated in the __init__
that self.head = head. Why we have to repeat self.head again in the def peek(self) instead of using just head.
Any hints will be much appreciated!
1 Like
scope rules. self
is the current class instance. That is why we setup instance variables __init__
method.
1 Like
Yes, sure! You’re totally right! Thanks for reminding about self
The way I look at it is:
self.head // Refers to the Node that is at the head of the queue
.get_value() // Gets the value from that Node.
1 Like
The text says: “peek() which will allow us to view the value of head of the queue without returning it”
Shouldn’t it be “removing it” instead of “returning it”?
1 Like