Python FiuncA
Python FiuncA
is the secondary prompt, which the Python interpreter uses to denote that it is expecting
some more
input.
13
>>> square(square(3))
81
...
>>> sum_of_squares(2, 3)
13
Functions are just like other values, they can assigned, passed as arguments to other functions etc.
>>> f = square
>>> f(4)
16
...
>>> fxy(square, 2, 3)
13
x=0
y=0
def incr(x):
y=x+1
return y
incr(5)
print x, y
Variables assigned in a function, including the arguments are called the local variables to the
function. The
Changing the values of x and y inside the function incr won’t effect the values of global x and y.
pi = 3.14
def area(r):
return pi * r * r
When Python sees use of a variable not defined locally, it tries to find a global variable with that
name.
numcalls = 0
def square(x):
global numcalls
numcalls = numcalls + 1
return x * x
Problem 7: How many multiplications are performed when each of the following lines of code is
executed?
print square(5)
print square(2*5)
x=1
def f():
return x
print x
print f()
x=1
def f():
x=2
return x
print x
print f()
print x
x=1
def f():
y=x
x=2
return x + y
print x
print f()
print x
x=2
def f(a):
x=a*a
return x
y = f(3)
print x, y
... return x - y
...
>>> difference(5, 2)
3
>>> difference(y=2, x=5)
...
>>> increment(10)
11
>>> increment(10, 5)
15
12
>>> fxy(cube, 2, 3)
35
>>> fxy(lambda x: x ** 3, 2, 3)
35
Notice that unlike function defination, lambda doesn’t need a return. The body of the lambda is a
single
expression.
The lambda operator becomes handy when writing small functions to be passed as arguments etc.
We’ll see
Built-in Functions
>>> min(2, 3)
>>> max(3, 4)
4
The built-in function len computes length of a string.
>>> len("helloworld")
10
The built-in function int converts string to ingeter and built-in function str converts integers and
other type of
objects to strings.
>>> int("50")
50
>>> str(123)
"123"
Problem 12: Write a function count_digits to find number of digits in the given number.
>>> count_digits(5)
>>> count_digits(12345)
Methods
>>> x = "hello"
HELLO
As already mentioned, methods are also functions. They can be assigned to other variables can be
called separately.
>>> f = x.upper
HELLO
Problem 13: Write a function istrcmp to compare two strings, ignoring the case.
True
False
Conditional Expressions
Python provides various operators for comparing values. The result of a comparison is a boolean
value, either
True or False.
>>> 2 < 3
False
>>> 2 > 3
True
• == equal to
• != not equal to
>>> x = 5
True
True
The conditional operators work even on strings - the ordering being the lexical order.
True
True
True
False
False
True
x=4
y=5
p = x < y or x < z
print p
print 2 < 3
The if statement
The if statement is used to execute a piece of code only when a boolean expression is true.
>>> x = 42
even
>>>
The code associated with if can be written as a separate indented block of code, which is often the
case when
>>> if x % 2 == 0:
...
even
>>>
The if statement can have optional else clause, which is executed when the boolean expression is
False.
>>> x = 3
>>> if x % 2 == 0:
... else:
...
odd
>>>
The if statement can have optional elif clauses when there are more conditions to be checked. The
elif
keyword is short for else if, and is useful to avoid excessive indentation.
>>> x = 42
... else:
>>>