In Python, functions are a way to group code fragments that perform a specific task. Functions promote code reusability, make the code easier to read, and allow for more manageable code.
Syntax of Function
Here is the basic syntax for defining a function in Python:
def function_name(parameters): """docstring""" statement(s)
- The keyword
def
starts the function definition, followed by the function name. - Parentheses contain the function’s parameters, also called arguments. Multiple parameters are separated by commas.
- A colon (
:
) follows the parentheses, and the indented lines after the colon are the function’s body. - The optional docstring (short for documentation string) describes what the function does. Although optional, documentation is a good programming practice.
- The function body contains one or more valid Python statements. These statements must be indented.
Here’s an example of a function that adds two numbers:
def add_numbers(num1, num2): """This function adds two numbers.""" return num1 + num2
To use this function, you would call it, passing two numbers as arguments. For example, add_numbers(2, 3)
would return 5
.
The return
Statement
The return
statement is used to exit a function and go back to the place where it was called. It can also send a result back to the caller. For example, in our add_numbers
function above, return num1 + num2
sends the sum of the two numbers back to the caller.
A function without a return
statement returns None
.
Arguments and Parameters
You can call a function using the following types of arguments:
- Required arguments: the function arguments that must be passed in the correct positional order.
- Keyword arguments: allows you to skip arguments or place them out of order because Python interpreter is able to use the keywords provided to match the values with parameters.
- Default arguments: a default value is assigned to the argument which is used if the function is called without passing that particular argument.
- Variable-length arguments: processes a function for more arguments than you specify while defining the function.
By understanding the basic structure of a function and how to define one, you’ll be well on your way to writing cleaner, more reusable code in Python. Functions are a foundational component of any programming language and mastering them is crucial to becoming an efficient Python programmer.