FAQ: Function Arguments: *args and **kwargs - Function Arguments: A Recap

This community-built FAQ covers the "Function Arguments: A Recap " exercise from the lesson “Function Arguments: *args and **kwargs”.

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

FAQs on the exercise _Function Arguments: A Recap _

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!
You can also find further discussion and get answers to your questions over in Language Help.

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

Need broader help or resources? Head to Language Help and Tips and Resources. If you are wanting feedback or inspiration for a project, check out Projects.

Looking for motivation to keep learning? Join our wider discussions in Community

Learn more about how to use this guide.

Found a bug? Report it online, or post in Bug Reporting

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 anyone please explain why the ‘return’ statement was not used here in the function body?
Thanks in advance!

Could you provide a link to the lesson? Unfortunately it’s missing from the wiki.

In general you might find python functions without return statements when they’re being used entirely for side effects.

Bear in mind that every Python function/method always returns something even if it’s the None object (so things like print which has I/O as a side effect returns None as would list.append which modifies the underlying list object as a side effect and returns None).

Thanks for your reply. I have tried with return statement and it works fine as well.
Here is the link.

https://www.codecademy.com/courses/learn-intermediate-python-3/lessons/function-arguments-args-kwargs/exercises/function-arguments-a-recap

While working on a Python exercise, I encountered a peculiar issue with function argument handling and testing. The task was to create a function assign_table that takes three arguments (table_number, name, and vip_status), and then uses these arguments to update a dictionary tables. I initially wrote the function using a variable to store the list, as follows:

python

def assign_table(table_number, name, vip_status):
  customer_info = [name, vip_status]
  tables.update({table_number: customer_info})

However, I encountered an error message stating, “Did you create a way to add to tables with the values of table_number, name, and vip_status? Double check your ordering. It should match the structure provided.”

After some trial and error, I found that removing the variable and directly placing the list in the dictionary update statement resolved the issue:

python

def assign_table(table_number, name, vip_status):
  tables.update({table_number: [name, vip_status]})

While this workaround resolved the error, I believe it highlights an inconsistency in the testing environment’s handling of function arguments and variables. My initial approach, using a variable to store the list, should be perfectly valid Python code. It is a common practice that can make code more readable.

Recommendation:

I recommend that the testing environment be updated to properly handle such scenarios, ensuring it does not reject valid Python code due to quirks in its testing procedures. By doing so, we can promote good coding practices and improve the learning experience for users.

1 Like