Bytes

Arguments in Python Functions

Module - 6 Functions in Python
Arguments in Python Functions

Overview:

In Python, an argument is the value passed to a function when it's called. Fundamentally, parameters are the variables inside a function's parentheses. Arguments provide values for those parameters.

What are Function Arguments in Python?

In programming, we utilize functions to organize our code and make it simpler to reuse. Like a recipe 🍕, a function encompasses a set of instructions (code) that tells the computer what to do. However, like a chef 🧑‍🍳, we may have to plan different types of dishes (execute the function) with diverse ingredients (arguments) and cooking strategies (parameters).

For illustration, let's say you have got a function called make_pizza 🍕. This function contains a set of instructions that tell the computer how to make a pizza 🍕, but it needs a few pieces of information about the type of pizza to make. You can pass this information as arguments once you call the function. Here's what the code for make_pizza might see like:

def make_pizza(pizza_type, toppings):
    # Code to make pizza
    print("Making a " + pizza_type + " pizza with " + toppings + " toppings!")

# Calling the function
make_pizza("Margherita", "cheese and tomato 🍅:cheese:")

📔 Note that the pizza_type and toppings are the arguments that are passed to the make_pizza function, and the shortcodes 🍅 and cheese are used instead of emojis in the text. This way, you can add shortcodes or placeholders to your code to represent emojis and make it more expressive and fun! 😃🎉

Arguments make functions more versatile, enabling them to perform useful computations. Without arguments, functions cannot respond dynamically or process different data, making them less flexible and reusable for various tasks. In general, Function arguments are input values that determine the behavior and output of a function. By passing different arguments, we can customize the function's behavior and process different inputs to generate different outputs.

Types of Function Arguments in Python

Python has four built-in function argument types we can use to call functions and have them perform their intended tasks. These are:

  1. Default Arguments
  2. Keyword Arguments
  3. Arbitrary Arguments
  4. Required Arguments

Default Arguments

Default arguments in Python have pre-set values if the user does not specify them when calling the function. The default value can be any data type like a list, dictionary, string, number, etc.Default arguments are defined by assigning values to arguments in the function definition. The syntax is:

def function_name(arg1, arg2=default_value):
...
...
return ...

Example:

def greet(name, greeting="Hello"):
    print(greeting + ", " + name)

greet("Bob")
greet("Bob", "Hi")

The above code defines a function called "greet" which takes a required argument called "name" and an optional argument called "greeting". If the user does not provide a value for the "greeting" argument, it will use the default value of "Hello". The function prints out a greeting using the supplied name and greeting. If the user calls the function with only one argument, the default value of "Hello" will be used for the "greeting" argument. If the user calls the function with both arguments, then the value provided by the user will be used.

Keyword Arguments

Keyword arguments, or named arguments, are parameters passed to a Python function that specify the argument name and value. This makes the code more readable by eliminating the need to remember the order of parameters. Keyword arguments can also set default values for unspecified parameters. Using keyword arguments enhances code readability and maintainability. Keyword arguments explicitly state which argument matches which parameter. This avoids ambiguity and clarifies the developer's intent.

Syntax:

def functionName(arg1, arg2, kwarg1=value1, kwarg2=value2):
    # Function body
    pass

Example:

def greeting(name, age, gender="male"):
    print("Hello, %s. You are %d years old and you are a %s." % (name, age, gender))

greeting("Bob", 25) # Hello, Bob. You are 25 years old and you are a male.

This code defines a function called "greeting" that takes two arguments (name and age) and an optional keyword argument (gender). The function body prints a greeting message with the parameters passed to it. The code shows how to call the greeting function, passing in the required parameters and an optional keyword argument. The code output is the greeting message with the parameters' values.

Arbitrary Arguments

Arbitrary arguments in Python enable functions to accept an unlimited number of arguments. This allows for flexibility when creating functions that require an unknown number of arguments. Arbitrary arguments are denoted with an asterisk (*) before the argument name . These arguments can create a list  or dictionary of the passed arguments.

Syntax:

def function_name(*args):
   # code block

Example:

def sum_numbers(*args):
    result = 0
    for i in args:
        result += i
    return result

print(sum_numbers(1, 2, 3, 4, 5))

This code defines a function called sum_numbers which takes an arbitrary number of arguments. The asterisk before args indicates that this argument will take an arbitrary number of arguments. When the function is called, it takes in a series of numbers as arguments and adds them together, returning the sum. The function then iterates through each of the arguments, adding them together and storing the total in a variable called the result. Finally, the function returns the result.

Required Arguments

Required arguments are when calling a function. They are position-dependent, meaning their matters. Required arguments are defined when the function is created and cannot when the function is called. Arguments must be given in the same as defined when invoking a function.

Syntax:

def function_name(arg1, arg2, ...):
    # function code
    return output

Example:

def my_function(arg1, arg2):
    # function code
    return arg1 + arg2

result = my_function(10, 20)
print(result) # prints 30

This code defines a function named my_function that accepts two arguments, arg1, and arg2. The code calls the function, passing 10 and 20 as the two arguments. The function adds arg1 and arg2, then returns the result. The result of the function is stored in the variable result, then printed to the screen, showing the value 30.

Conclusion

Function arguments are values passed to a function when it is called. On the other hand, parameters are the variables inside the function's parentheses. There are four types of function arguments in Python: required arguments, default arguments, keyword arguments, and arbitrary arguments. Default arguments have pre-set values, keyword arguments are passed as named arguments, and arbitrary arguments permit a variable number of arguments to be passed to a function.

Key takeaways

  1. A function can take any number of arguments, and the arguments can be of any type.
  2. Arguments can be characterized as positional or keyword arguments and given default values.
  3. Keyword arguments must take after positional arguments within the function definition.
  4. The values passed to arguments can be adjusted when calling a function.
  5. Arguments can be passed as a single collection object, like a list or dictionary.
  6. Variables characterized inside the function scope are not available outside the function.
  7. The return statement can pass a value back to the calling code.

Quiz

  1. What is the purpose of the keyword 'return' in a Python function? 
    1. To end the function 
    2. To print a statement  
    3. To return the output of the function 
    4. To assign a value to a variable

Answer: c. To return the output of the function

  1. What are the two main components of a Python function? 
    1. Arguments and return values 
    2. Variables and code blocks 
    3. Arguments and code blocks 
    4. Return values and variables

Answer: c. Arguments and code blocks

  1. What is the purpose of the keyword 'def' in a Python function?  
    1. To define a variable 
    2. To define a function  
    3. To execute a function  
    4. To print a statement

Answer: b. To define a function

  1. What is the purpose of the keyword 'pass' in a Python function?  
    1. To ignore a statement  
    2. To execute a function 
    3. To define a function 
    4. To define a variable

Answer: a. To ignore a statement

Online Python Compiler (Editor / Interpreter)
Open Compiler
Recommended Courses
Certification in Full Stack Data Science and AI
Course
20,000 people are doing this course
Become a job-ready Data Science professional in 30 weeks. Join the largest tech community in India. Pay only after you get a job above 5 LPA.
Masters Program in Data Science and Artificial Intelligence
Course
20,000 people are doing this course
Join India's best Masters program in Data Science and Artificial Intelligence. Get the best jobs in top tech companies. Accredited by ECTS and globally recognised in EU, US, Canada and 60+ countries.

AlmaBetter’s curriculum is the best curriculum available online. AlmaBetter’s program is engaging, comprehensive, and student-centered. If you are honestly interested in Data Science, you cannot ask for a better platform than AlmaBetter.

avatar
Kamya Malhotra
Statistical Analyst
Fast forward your career in tech with AlmaBetter
Explore Courses

Vikash SrivastavaCo-founder & CPTO AlmaBetter

Vikas CTO

Related Tutorials to watch

view Allview-all

Top Articles toRead

view Allview-all
AlmaBetter
Made with heartin Bengaluru, India
  • Official Address
  • 4th floor, 133/2, Janardhan Towers, Residency Road, Bengaluru, Karnataka, 560025
  • Communication Address
  • 4th floor, 315 Work Avenue, Siddhivinayak Tower, 152, 1st Cross Rd., 1st Block, Koramangala, Bengaluru, Karnataka, 560034
  • Follow Us
  • facebookinstagramlinkedintwitteryoutubetelegram

© 2024 AlmaBetter