4 Python Functions, Modules and Packages
4 Python Functions, Modules and Packages
Unit IV
Python Functions, Modules and Packages
4a. Use the Python standard functions for the given problem.
4b Develop relevant user defined functions for the given problem using
Python code.
1
Padmashri Dr. Vitthalrao Vikhe Patil Institute Of Technology & Engineering (Polytechnic ), Pravaranagar
PWP-22616,BD
Python Functions
∙ Functions are the most important aspect of an application. A function can be defined as the
organized block of reusable code which can be called whenever required. ∙ Python allows us
to divide a large program into the basic building blocks known as function. The function
contains the set of programming statements enclosed by {}. ∙ A function can be called
multiple times to provide reusability and modularity to the python program.
∙ In other words, we can say that the collection of functions creates a program. The function
is also known as procedure or subroutine in other programming languages. ∙ Python provide
us various inbuilt functions like range() or print(). Although, the user can create its functions
which can be called user-defined functions.
Creating a function
∙ In python, we can use def keyword to define the function.
∙ The syntax to define a function in python is given below.
def my_function():
function-suite
return <expression>
∙ The function block is started with the colon (:) and all the same level block statements
remain at the same indentation.
∙ A function can accept any number of parameters that must be the same in the definition and
function calling.
Function calling
∙ In python, a function must be defined before the function calling otherwise the python
interpreter gives an error.
∙ Once the function is defined, we can call it from another function or the python prompt. To
call the function, use the function name followed by the parentheses.
∙ A simple function that prints the message "Hello Word" is given below.
2
Padmashri Dr. Vitthalrao Vikhe Patil Institute Of Technology & Engineering (Polytechnic ), Pravaranagar
PWP-22616,BD
def hello_world():
print("hello world")
hello_world()
Output:
hello world
Parameters in function
∙ The information into the functions can be passed as the parameters.
∙ The parameters are specified in the parentheses. We can give any number of parameters, but
we have to separate them with a comma.
∙ Consider the following example which contains a function that accepts a string as the
parameter and prints it.
∙ Example 1
#defining the function
def func (name):
print("Hi ",name);
∙ In python, all the functions are called by reference, i.e., all the changes made to the
reference inside the function revert back to the original value referred by the reference. ∙
However, there is an exception in the case of mutable objects since the changes made to
the mutable objects like string do not revert to the original string rather, a new string
object is made, and therefore the two different objects are printed.
3
Padmashri Dr. Vitthalrao Vikhe Patil Institute Of Technology & Engineering (Polytechnic ), Pravaranagar
PWP-22616,BD
Types of arguments
There may be several types of arguments which can be passed at the time of function
calling.
1. Required arguments
2. Keyword arguments
3. Default arguments
4. Variable-length arguments
1. Required Arguments
4
Padmashri Dr. Vitthalrao Vikhe Patil Institute Of Technology & Engineering (Polytechnic ), Pravaranagar
PWP-22616,BD
∙ Example 3
#the function calculate returns the sum of two arguments a and b
def calculate(a,b):
return a+b
calculate(10) # this causes an error as we are missing a required arguments b.
Output:
∙ Python allows us to call the function with the keyword arguments. This kind of function call
5
Padmashri Dr. Vitthalrao Vikhe Patil Institute Of Technology & Engineering (Polytechnic ), Pravaranagar
PWP-22616,BD
#function func is called with the name and message as the keyword arguments
def func(name,message):
print("printing the message with",name,"and ",message)
func(name = "Ash",message="hello") #name and message is copied with the
values John and hello respectively
Output:
printing the message with Ash and hello
∙ Example 2 providing the values in different order at the calling
#The function simple_interest(p, t, r) is called with the keyword arguments the
order of arguments doesn't matter in this case
def simple_interest(p,t,r):
return (p*t*r)/100
print("Simple Interest: ",simple_interest(t=10,r=10,p=1900))
Output:
Simple Interest: 1900.0
∙ If we provide the different name of arguments at the time of function call, an error will be
thrown.
∙ Consider the following example.
6
Padmashri Dr. Vitthalrao Vikhe Patil Institute Of Technology & Engineering (Polytechnic ), Pravaranagar
PWP-22616,BD
Default Arguments
∙ Python allows us to initialize the arguments at the function definition. If the value of any of
the argument is not provided at the time of function call, then that argument can be
initialized with the value given in the definition even if the argument is not specified at
the function call.
∙ Example 1
def printme(name,age=35):
print("My name is",name,"and age is",age)
printme(name = "Ash") #the variable age is not passed into the function however
the default value of age is considered in the function
Output:
My name is Ash and age is 35
∙ Example 2
def printme(name,age=35):
print("My name is",name,"and age is",age)
printme(name = "Ash") #the variable age is not passed into the function however
the default value of age is considered in the function
7
Padmashri Dr. Vitthalrao Vikhe Patil Institute Of Technology & Engineering (Polytechnic ), Pravaranagar
PWP-22616,BD
Scope of variables
∙ The scopes of the variables depend upon the location where the variable is being declared.
The variable declared in one part of the program may not be accessible to the other parts.
∙ In python, the variables are defined with the two types of scopes.
i. Global variables
ii. Local variables
∙ The variable defined outside any function is known to have a global scope whereas the
variable defined inside a function is known to have a local scope.
∙ Consider the following example.
def print_message():
8
Padmashri Dr. Vitthalrao Vikhe Patil Institute Of Technology & Engineering (Polytechnic ), Pravaranagar
PWP-22616,BD
The sum is 60
Value of sum outside the function: 0
Python Modules
∙ A python module can be defined as a python program file which contains a python code
9
Padmashri Dr. Vitthalrao Vikhe Patil Institute Of Technology & Engineering (Polytechnic ), Pravaranagar
PWP-22616,BD
∙ Hence, if we need to call the function displayMsg() defined in the file file.py, we have to
import that file as a module into our module as shown in the example below. ∙ Example:
import file;
name = input("Enter the name?")
file.displayMsg(name)
∙ Output:
10
Padmashri Dr. Vitthalrao Vikhe Patil Institute Of Technology & Engineering (Polytechnic ), Pravaranagar
PWP-22616,BD
∙ Output:
Enter the first number10
Enter the second number20
Sum = 30
∙ The from...import statement is always better to use if we know the attributes to be imported
from the module in advance. It doesn't let our code to be heavier. We can also import all
the attributes from a module by using *.
∙ Consider the following syntax.
11
Padmashri Dr. Vitthalrao Vikhe Patil Institute Of Technology & Engineering (Polytechnic ), Pravaranagar
PWP-22616,BD
Python Package
∙ As our application program grows larger in size with a lot of modules, we place similar
modules in one package and different modules in different packages.
Writing packages
∙ Packages are namespaces which contain multiple packages and modules themselves. They
are simply directories, but with a twist.
∙ Each package in Python is a directory which MUST contain a special file called
__init__.py. This file can be empty, and it indicates that the directory it contains is a
Python package, so it can be imported the same way a module can be imported.
∙ A directory must contain a file named __init__.py in order for Python to consider it as a
package. This file can be left empty but we generally place the initialization code for that
package in this file.
∙ Here is an example. Suppose we are developing a game, one possible organization of
packages and modules could be as shown in the figure below.
12
Padmashri Dr. Vitthalrao Vikhe Patil Institute Of Technology & Engineering (Polytechnic ), Pravaranagar
PWP-22616,BD