Date
21th May,2020
Python
#user
defined function
def fun(a):
#create one empty list to store only even
numbers
k=[] #k is for even number
#to
check even
for n
in a:
if
n%2==0:
k.append(n)
return
k
#create empty list
a=[]
#enter no of elements as input
b=int(input("enter no of values "))
#use for loop to store list values into var a
for i in range(1,b+1):
a.append(i)
print(fun(a))#function call
"""
enter
no of values 10
[2,
4, 6, 8, 10]
"""
def
ex1(s):
for i in s:
if i=='h':
pass
print(i)
a="python"
ex1(a)
"""
p
y
t
h
o
n
"""
Using
break statement:
def
ex1(s):
for i in s:
if i=='h':
break
print(i)
a="python"
ex1(a)
"""
p
y
t
"""
def ex1(s):
for i in s:
if i=='h':
continue
print(i)
a="python"
ex1(a)
"""
p
y
t
o
n
"""
Function
definition:
Which
contains
1. Function heading
2. Function body
1. Function heading:
1. Keyword: def
2. Name of the function
It may
contain list of parameters (it is optional)
Syntax:
def Fun_name(list
of paremters):
2.function body:
It contains
collection of statements and return statement. Here ‘return’ statement is
optional.
3. Function call:
A
function can not execute its own. It is executed when the function is called.
def fun(list of parameters):
Syntax:
fun(list
parameters) #calling the function
Name
of the function and function call should be same.
Parameters or Arguments:
To
execute the function, we call a function with variables/values.
Ex:
def
ex1(s):
…..
ex1(a)
Here
‘a’, ‘s’ are nothing but a function arguments or function parameters.
Actual
parameters, formal parameters
Example:
‘a’ is actual parameter, ‘s’ is formal parameter
Actual
parameter may be value or variable. Where
as formal parameter should be variable only.
Types
of arguments:
1. Required arguments
2. Keyword arguments
3. Default arguments
4. Variable length arguments
Required arguments:
def
cal(a,b,c):
return(a+b+c)
print(cal(2,3,4))
def
ex(a,b):
c=a+b
print(c)
ex(2,3)
these
are the arguments which are required to be passed at the time of function call
with exact match of their positions in the function call and function
definition
#Required
arguments
def
cal(a,b,c):
return(a+b+c)
#function
call
print(cal(2,3))
#due to required arguments are not passed to function
Required
arguments passed to a function in correct positional order. In the above
example number of arguments in the function call should match exactly with the
function definition.
Non-keyword and keyword
arguments:
We can pass a variable
number of parameters or arguments to a function using special symbols.
We have two type:
*args, **kwargs
1. Non-keyword arguments
(*args)/arbitrary arguments
2. Keyword arguments (**
kwargs)
###Required arguments
##def cal(a,b,c):
## return(a+b+c)
##
###function call
##print(cal(2,3,4,5)) #Error
due to required arguments are not passed
##
def cal(*n):
total=0
for i in n:
total=total+i
return(total)
print(cal(2))
print(cal(2,3))
print(cal())
print(cal(2,4,7))
"""
2
5
0
13
"""
1. Non-keyword arguments
(*args)/arbitrary arguments
*args
are used to pass non-keyword arguments.
Ex:
cal(2,3)…passed to function cal(*n)
#Keyword
argument
def
ex(a,b):
print(a)
print(b)
ex(a=2,b=3)
Ex2:
#Keyword
argument
def
ex(b,a):
print("a=",a)
print("b=",b)
ex(a=2,b=3)
Name
of the arguments is treated as the keywords and matched in the function call
and fun. Defn
If
the same match is found, the values of the arguments are copied in the function
definition otherwise it raises error.
If
we provide the different name of the variables passed to the function at the
time function call, it leads to error.
Ex3:
#Keyword
argument
def
ex(e,f):
print("f=",f) #Error
print("e=",e)#Error
ex(a=2,b=3)
#Ex5: Mixed with keyword and required
arguments
def
example(a,b,c):
print(a,b,c)
#function
call
example("
ravi",b=4,c="sita")
2. Keyword arguments
(**kwargs)
#example
program on keyword arguments
def
ex1(**n):
for key,value in n.items():
print("{}
is{}".format(key,value))
ex1(name="ravi",age=20,mobile=98787878)
"""
name
is ravi
age
is20
mobile
is98787878
"""
#example
program on keyword arguments
def
ex1(**n):
for key,value in n.items():
print("{}
is{}".format(key,value))
#ex1(name="ravi",age=20,mobile=98787878)
#ex1('ravi')
#invalid due to non keyword argument
ex1(a=5)
"""
name
isravi
age
is20
mobile
is98787878
"""
Python
passes variable length non keword argument to the function using * args but we can
not use this to pass keyword argument.
Use double
* * before the parameter/arugment. These
arguments passed to a function as dictionary.
#using
both keyword arguments(**) and non keyword arguments (*)
def
ex(*args,**kwargs):
for i in args:
print(i)
for item in kwargs.items():
print(item)
ex(4,a="ravi",b="sita")
"""
4
('a',
'ravi')
('b',
'sita')
"""
No comments:
Post a Comment