Last Updated : 27 Dec, 2024
Python def keyword is used to define a function, it is placed before a function name that is provided by the user to create a user-defined function. In Python, a function is a logical unit of code containing a sequence of statements indented under a name given using the “def” keyword. In Python def keyword is the most used keyword.
Example:
Python
# defining function
def func():
print("Hello")
# calling function
func()
Let's explore python def keyword in detail:
Python def Syntaxdef function_name:
function definition statements...
Use of def keyword
The possible practical application is that it provides the feature of code reusability rather than writing the piece of code again and again we can define a function and write the code inside the function with the help of the def keyword. It will be more clear in the illustrated example given below. There can possibly be many applications of def depending upon the use cases.
Example 1: Create function to find the subtraction of two NumbersIn this example, we have created a user-defined function using the def keyword. Function name is subNumbers() which calculates the differences between two numbers.
Python
# Python3 code to demonstrate
# def keyword
# function for subtraction of 2 numbers.
def subNumbers(x, y):
return (x-y)
# main code
a = 90
b = 50
# finding subtraction
res = subNumbers(a, b)
# print statement
print("subtraction of ", a, " and ", b, " is ", res)
subtraction of 90 and 50 is 40Example 2: Create function with the first 10 prime numbers
In this example, we have created a user-defined function using the def keyword. The program defines a function called fun() using the def keyword. The function takes a single parameter n, which specifies the number of prime numbers to be printed.
Python
# Python program to print first 10 prime numbers
# A function name prime is defined
# using def
def fun(n):
x = 2
count = 0
while count < n:
for d in range(2, int(x ** 0.5) + 1): # check divisibility only up to sqrt(x)
if x % d == 0:
break # if divisible, it's not prime, so break the loop
else:
print(x) # prime number
count += 1
x += 1
# Driver Code
n = 10
fun(n)
2 3 5 7 11 13 17 19 23 29Passing Function as an Argument
In Python, we can pass functions as arguments to other functions. We can pass a function by simply referencing its name without parentheses. The passed function can then be called inside the receiving function.
Example:
Python
# A function that takes another function as an argument
def fun(func, arg):
return func(arg)
def square(x):
return x ** 2
# Calling fun and passing square function as an argument
res = fun(square, 5)
print(res)
Explanation:
In Python, *args is used to pass a variable number of arguments to a function. The * allows a function to accept any number of positional arguments. This is useful when we are not sure how many arguments will be passed to the function.
Example:
Python
def fun(*args):
for arg in args:
print(arg)
# Calling the function with multiple arguments
fun(1, 2, 3, 4, 5)
Python def keyword example with **kwargs
In Python, **kwargs is used to pass a variable number of keyword arguments to a function. The ** syntax collects the keyword arguments into a dictionary, where the keys are the argument names and the values are the corresponding argument values. This allows the function to accept any number of named (keyword) arguments.
Python
def fun(**kwargs):
for k, val in kwargs.items():
print(f"{k}: {val}")
# Calling the function with keyword arguments
fun(name="Alice", age=30, city="New York")
name: Alice age: 30 city: New York
Explanation:
In Python, the def keyword is used to define functions and it can also be used to define methods inside a class. A method is a function that is associated with an object and is called using the instance of the class.
When using def inside a class, we can define methods that can access and modify the attributes of the class and its instances.
Python
class Person:
# Constructor to initialize the person's name and age
def __init__(self, name, age):
self.name = name # Set the name attribute
self.age = age # Set the age attribute
# Method to print a greeting message
def greet(self):
print(f"Name - {self.name} and Age - {self.age}.")
# Create an instance of the Person class
p1 = Person("Alice", 30)
# Call the greet method to display the greeting message
p1.greet()
Name - Alice and Age - 30.
Suggested Quiz
5 Questions
In Python, what is the primary purpose of the 'def' keyword?
To define a variable
To create a loop
To define a function
To import a module
Which of the following is true about functions defined using the 'def' keyword in Python?
They cannot return values
They can only take one argument
They can have multiple return statements
They must be defined inside a class
When using the 'def' keyword, what does the asterisk (*) signify when used in a function parameter?
It indicates a required parameter
It allows for variable-length arguments
It denotes a private function
It specifies a default value
What is the significance of the 'self' parameter in methods defined using the 'def' keyword within a class?
It refers to the class itself
It allows access to instance variables
It is used to create static methods
It is a placeholder for default parameters
Which of the following is the correct way to define a function in Python?
def function_name[]:
def function_name():
def function_name{}:
function function_name():
Quiz Completed Successfully
Your Score : 2/5
Accuracy : 0%
Login to View Explanation
1/5 1/5 < Previous Next >RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4