What is a function in Python?
A function is one of the most significant parts of Python. It is a block of code that the programmers can reuse. One of the primary advantages of Python function is that it can be called any time if they are defined. Functions are the basic building blocks of a Python program. There is no restriction on the number of times you can call a function in Python. Thus, the modularity and segmentation of the program improve. The advantages of using functions in a program are-
- Using functions promotes the reusability of the code. Thus, the programmer does not have to spend time or effort on writing the same piece of code over and over again.
- A Python function can be called multiple times. Additionally, you can call it from anywhere in the program.
- Tracking large programs becomes convenient if it is divided into smaller modules. Thus, functions allow modularity.
- Python allows programmers to create user-defined functions. Thus, it is easy to modify a function as per the requirements.
Syntax of a function to sum two numbers:
# Defining the function def sum_numbers(): a = 1 b = 2 c = a+b return c # calling sum_numbers() function in print statement print("The sum of the two numbers is:",sum())
The above programs can sum up two numbers and return their sum. Print() is an in-built Python function that is used to print the sum.
Docstrings are the strings in the Python function that appear after the function header. It could also be present after the definition of a class or a module. Docstrings could be single-line or multi-line.
def add_3(n): '''Takes in a number n, returns the sum after adding 3 to n''' return n+2
Here, the string “Takes in a number n, returns the sum after adding 3 to n” with a triple quotation is known as the docstring. It appears right after the function definition and gives us an idea of what the function is meant to do.
There is a slight difference between Python comments and Python docstrings. The comments help a programmer to understand the intention with which the program was written. We can use “#” to write a single-line comment in Python. On the other hand, docstrings are written after the function definition.
The return statement in Python
The return statement is a statement that programmers can use within a Python function to send the result of the function back to the calling module. It is done by writing the “return” keyword followed by the value that it has to return. It is an optional statement.
# Defining the function def multiply_numbers(): a = 1 b = 2 c = a * b return c # calling multiply_numbers() function in print statement print("The product of the two numbers is:",multiply_numbers())
The product of the two numbers is: 2
In the above program, the return statement is used to return the product of the two numbers.
Example of the use of comments in Python:
# Program to print "I love programming" print("I love programming")
Working of a Python function
The working of a function refers to calling the function that the programmer wrote either through a function or through the Python prompt. An example of a function calling another function can be seen in nested Python Functions.
Scope and Lifetime of variables
In Python, the scope of a variable refers to the duration and the part of the code for which the variable can be accessed. Local variables are the variables that are accessible within a particular block of code (a specific method). They will not be accessible outside the method.
def function(): a='Local_a' print(a) func1() # calling func1()
On the other hand, global variables are defined in the main function and will be available throughout the lifetime of the program.
a = 'Global_a' def func1(): print(x) # Calling variable ‘a’ inside func1() func1() print(x) # Calling variable ‘a’ outside func1()
The variable will be accessible throughout the program as it is a global variable.
Types of functions in Python
There are three types of functions in Python-
- In-built functions: These are the in-built functions that Python provides the programmers. Some examples of in-built Python functions are print() and min(). The print() function is used to print results, while min() is used to find the minimum value between the arguments
def test_function(): print("Hello! What is your name?")
Hello! What is your name?
- User-defined functions: A function that the programmer can define by himself is known as a user-defined function. It provides flexibility to the programmer as he can modify it as per his requirements. Thus, the programmer can reuse pieces of code that he would not have been able to use otherwise.
def multiply_num(a,b): product = a * b return product n1 = 3 n2 = 4 print("The product is", multiply_num(n1, n2))
The product is 12
- Anonymous functions: These functions do not use the “def” keyword. Hence, they are also known as lambda functions.
Q & A on Python Functions (def): Definition with Examples
1. How do you define a function in Python?
Answer: It is pretty simple to define a function in Python. The following points need to be kept in mind while defining a Python function:
- Keyword “def”: In Python, you need to use the keyword “def” to specify the function.
- Function name followed by parenthesis “()”: After the keyword “def”, you need to write the name of the function. The naming convention rules for naming it are the same as rules for Python identifiers. A good practice is to name the function keeping in mind the task it is supposed to do.
- Input parameters: The arguments or the input parameters have to be mentioned within the parenthesis following the function name.
- A colon after the parenthesis: A colon will be following the parenthesis where arguments are entered. It marks the end of the function header. The colon precedes the code block and is indented.
- Docstring: It is an optional section that documents what the role of the function is. It enhances readability if a user looks at his code after a long duration.
- Function Body: It comprises one or more Python statements. Essentially, these are valid statements that have the same indentation.
- Return statement: It is an optional statement. The return keyword can be used by the Python function to return a value.
Sample syntax of a Python function–
def understand_func(name): """ The docstring section can tell information about the function. """ print("Hello, " + name + ". Hope you are doing fine!")
2. What is a function in Python with an example?
Answer: A Python function refers to a block of code that can be reused to perform the same task. Functions allow breaking your program into modules. A function runs only after you call it. You can pass parameters and arguments in the function. A few examples are-
def test_function(): print("Hello! I hope you are doing fine")
Hello! I hope you are doing fine
def my_function(firstname): print(fname + " Weasley") my_function("Fred") my_function("Ron") my_function("Ginny")
Here the argument that is being passed as an argument in the function is being concatenated with the string “Weasley”.
3. What is the function of == in Python?
Answer: The “==” operator is known as the equality operator. The operator will return “true” if both the operands are equal. However, it should not be confused with the “=” operator or the “is” operator. “=” works as an assignment operator. It assigns values to the variables. On the other hand, the “is” operator in Python verifies whether the two variables point to the same object in the memory. In general, programmers use “==” and “!=” operators to compare values.
(x==y) will return false as both are assigned different values. (y==z) will return true as both are assigned the same values.