Chapter-2 Function

Download as pdf or txt
Download as pdf or txt
You are on page 1of 40

• Function is a named sequence of statements used to

perform specific task when it is invoked.

• Functions may or may not return value. It contains


statements, which are sequentially executed from top to
bottom by python Interpreter.

• Once defined, a function can be called repeatedly from


different places of the program without writing same
code of that function every time, or it can be called
from inside another function, by simply writing the
name of the function and passing the required
parameters, if any
Advantages of Using a Function
*1) Use of functions enhances the
readability of a program.
*2) A big code is always difficult to read.
Breaking the code in smaller parts called
Functions, keeps the program organized,
easy to understand and makes it reusable
*3) Functions are used to achieve
modularity and reusability.
• Functions can be categorized in three
types-

1. Built-in
2. Modules
3. User Defined
• These are the functions which are predefined
in python we have to just call them to use.
• Functions make any programming language
efficient and provide a structure to language.
• P ython has many built-in functions which
makes programming easy, fast and efficient.
• They always reside in standard library and we
need not to import any module to use them.
1. Type Conversion Functions: These are the
functions which converts the values from one type to another-
1. int( ) – To convert the string into integer.
2. str( ) – To covert any value into string.
3. float( ) – To covert string into float.
2. Input Functions: This function is used to take input from
user.
e.g. i) name=input(‚Enter your name : ‚)
ii) n= int(input(‘Enter number:’))
3. eval function: This function is used to evaluate the value
of a string.
e.g. x=eval(‚10+10‚)
print(x) # answer will be 20
4. min Function: This
function returns the smallest
value among given list of
values.
5. max Function: This
function returns the biggest
value among given list of
values.
6. abs Function: This
function returns the absolute
value of any integer which is
always positive.
7.type Function: This
function is used to identify the
type of any value or variable.
8.len Function: This
function returns the length of
given string.
9.round Function: This
function returns the rounded
number of given number up to
given position.
10. range Function: If
you want the series between
two numbers then you can use
this function. This is good tool
for FOR Loop. Its syntax is -
range( start, stop, step)
This gives the series from
START to STOP-1 and the
interval between two numbers
of series will be S T E P .
• Module is a .py file which contains the definitions
of functions and variables.

• When we divide a program into modules then


each module contains functions and variables.
And each functions is made for a special task.

• Once written code in modules can be used in


other programs.

• When we make such functions which may be


used in other programs also, then we write them
in module.
We can import those module in any program.
• Python provides two ways of import

• import statement: to import full module.


• from: To import all or selected functions from the module.
• math module contains following
functions–
– ceil(x) returns integer bigger than x or x integer.
– floor(x) returns integer smaller than x or x integer.
– pow(x, n) returns x . n

– sqrt(x) returns square root of x.


– log10(x) returns logarithm of x with base-10
– cos(x) returns cosine of x in radians.
– sin(x) returns sine of x in radians.
– tan(x) returns tangent of x in radians.
• When we require random numbers to be generated.
e.g. captcha or any type of serial numbers then in this
situation we need random numbers. And here random module
helps us. This contains following functions-
• randrange (): This method always returns any integer between given
lower and upper limit to this method. default lower value is zero (0) and
upper value is one(1).

• random (): This generates floating value between 0 and 1. it does not
require any argument.
• randint (): This method takes 2 parameters a,b in which first one is lower
and second is upper limit. This may return any number between these two
numbers including both limits. This method is very useful for guessing
applications.

• uniform (): This method return any floating-point number between two
given numbers.
String Module
– String.capitalize() Converts first character to Capital Letter
– String.find() Returns the Lowest Index of Substring
– String.index() Returns Index of Substring
– String.isalnum() Checks Alphanumeric Character
– String.isalpha() Checks if All Characters are Alphabets
– String.isdigit() Checks Digit Characters
– String.islower() Checks if all Alphabets in a String, are
Lowercase
– String.isupper() returns if all characters are uppercase
characters
– String.join() Returns a Concatenated String
– String.lower() returns lowercased string
– String.upper()returns uppercased string
– len()Returns Length of an Object
• These are the functions which are made by
user as per the requirement of the user.

• We can use them in any part of our


program by calling them.

• def keyword is used to make user defined


functions.
• We use following syntax with def keyword
to prepare a user defined function.

def Function_Name(List_Of_Parameters):
‛‛‛docstring‛‛‛
statement(s)
After the line containing def
there should be a 4 spaces
Keyword indentation, which is also
know as the body or block
of the function. Function
Definition
without argument without return

Function
Definition

Function Call
with argument without return

In the case of arguments,


the values are passed in the
function’s parenthesis. And
they are declared in
definition as well.
with argument
with return value

In the case of returning


value, the calculated value is
sent outside the function by
a returning statement. This
returned value will be hold
by a variable used in calling
statement.
with multiple
return values

In python a function
may return multiple
values. In multiple
returning it returns a
sequence of values to
the calling statement.
These returned values
may be used as per the
requirement.
with multiple return values

Last program may also


be written as follows.

Result will be the tuple


here.
• When we write header of any function then the
one or more values given to its parenthesis ( )
are known as parameter.
• These are the values which are used by the
function for any specific task.
• While argument is the value passed at the time
of calling a function.
• In other words the arguments are used to
invoke a function.
• Formal parameters are said to be parameters
and actual parameters are said to be
arguments.
These are the parameters .

These are the arguments .


• Python supports 4 types of arguments-
1. Positional Arguments
2. Default Arguments
3. Keyword Arguments
4. Variable Length Arguments

Neha Tyagi, PGT CS, KV No-5,Jaipur


• These are the arguments
which are passed in correct
positional order in function.
• If we change the position of the
arguments then the answer
will be changed.
• A default value is a value that is
predefined and assigned to the parameter
when the function call does not have its
corresponding argument.
Write python code to find simple interest.
• If a function have many arguments and we want to
change the sequence of them then we have to
use keyword arguments.

• Biggest benefit of keyword argument is that we


need not to remember the position of the
argument.

• For this whenever we pass the values to the


function then we pass the values with the
argument name.
• As we can assume by the name that we can pass any number of
arguments according to the requirement. Such arguments are
known as variable length arguments.
• We use (*) asterik to give Variable length argument.

You can notice here


that every time the
number of arguments
are different and the
answer is calculated
for each number of
arguments.
Neha Tyagi, PGT CS, KV No-5,Jaipur
• In python we use list as array. Well we have to import numpy
module to use array in python.
• We will pass here list to the function. As we know that list is
better than array.
Write python code to print average of list elements

def list_avg(li):
sum=0
for i in li:
sum=sum+i
return sum/n
li=[]
n=int(input('Enter size of elements to be enter in list:'))
c=0
while c<n:
a=int(input('Enter numbers in list:'))
li.append(a)
c=c+1
print(li)
avg1=list_avg(li)
print('Average of list is;',round(avg1,2))
*
Enter size of elements to be enter in
list:4
Enter numbers in list:34
Enter numbers in list:5
Enter numbers in list:23
Enter numbers in list:56
[34, 5, 23, 56]
Average of list is; 29.5
• Scope of variable means the part of program where
the variable will be visible. It means where we can
use this variable.
• We can say that scope is the collection of variables
and their values.
• Scope can of two types -
• Global (module)
– All those names which are assigned at top level in module
or directly assigned in interpreter.
• Local (function)
– Those variables which are assigned within a loop of
function.
Difference between Global variable and local variable

Global Variable Local variable


1) A variable that has global scope 1) A variable that has local scope is
is known as global variable known as local variable
2) a variable that is defined 2) A variable that is defined inside
outside any function or any block any function or a block
is known as a global variable is known as a local variable
3) It can be accessed throughout 3) It can be accessed only in
the python code the function or a block where it is
defined.
4) Any change made to the global 4) Any change made to the local
variable will impact all the variable will not impact all the
functions in the program where functions in the program where
that variable can be accessed. that variable can be accessed.
5) It exists throughout the 5) It exists only till the function
program executes.
• Main function is not necessary in python.
• For the convenience of Non-python programmers, we
can use it as follows-
Write flow of execution of following python code.
1. def increment(x):
2. z=45
3. x=x+1
4. return x
5.
6. #main
7. y=3
8. print(y)
9. y=increment(y)
10. print(y)
11. q=77
12. print(q)
13. increment(q)
14. print(q)
15. print(x)
16. print(z)

ANSWER IS:
1->7->8->9->1->2->3->4->9->10->11->12->13->1->2->3->4->14->15->16
RECURSION
• In recursion, function calls itself until
the condition is not satisfied.
RECURSION. . .
• Recursion is one of the most powerful tools of the
programming language. When a function calls itself
within its body then this is know as recursion.

• There are two conditions to use recursion -


– There must be a terminating condition.
– There must be if condition in recursive routine.
– Every recursive problem has a special feature its
reversal in the order of execution.
– As many times there is recursive call then every
time a new memory is allocated to the local
variables of recursive function.
– During recursion each value is pushed in a stack.
Drawbacks of RECURSION
•It uses more storage as each values is
pushed in to stack.
•If recursive call is not checked
carefully then your computer may go out
of memory.
•It is less efficient in terms of time and
speed.
* Write python code to find factorial of a number using recursion
def fact (n):
if n==0:
return 1
else:
return n*fact(n-1)
n=int(input('Enter no:'))
x=fact(n)
print('Factorial is:',x)

You might also like