Python Functions¶
Python functions are reusable blocks of code that perform a specific task and can be called multiple times within a program to execute that task.
In Python, a function is a block of reusable code that is used to perform a single, related action. Functions provide better modularity for your application and a high degree of code reusing.
Defining a function
A function in Python is defined by a def statement. The general syntax looks like this:
Let's break down the components:
- def: This keyword signals the start of a function definition.
- function_name: This is the name of the function. It should be descriptive of what the function does and should follow the same naming conventions as variables.
- parameters: These are inputs to the function. They are optional, and a function may contain zero or more parameters.
- function body: This is where you write the code that the function should execute.
- return: This keyword is used to exit the function and return a value. If no return statement is included, the function will return- Noneby default.
Simple function example
Here is an example of a function that takes two numbers as inputs and returns their sum:
In this example, add_numbers is the function name, a and b are parameters, and a + b is the function body. The function adds a and b together and returns the result.
More complex function example
Now, let's consider a more complex example. Suppose we want to create a function that checks whether a number is prime (a number is considered prime if it is greater than 1 and has no divisors other than 1 and itself). Here's how we could do it:
def is_prime(n):
    if n <= 1:
        return False
    for i in range(2, n):
        if n % i == 0:
            return False
    return True
print(is_prime(2))  # Output: True
print(is_prime(4))  # Output: False
In this function, is_prime, we're using a loop and conditional statements within our function body to check for the condition of being a prime number.
User-defined Functions¶
An example function
# Defines a "repeat" function that takes 2 arguments.
def repeat(s, exclaim):
    """
    Returns the string 's' repeated 3 times.
    If exclaim is true, add exclamation marks.
    """
    result = s + s + s # can also use "s * 3"
    if exclaim:
        result = result + '!!!'
    return result
def defines a function named repeat that takes two parameters, s and exclaim
- s is a string and is the value that will be repeated
- exclaim is a boolean that determines if an ! is added or not
-  The number of times the string is repeated is determined by the value of exclaim.
The result of running this code