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

SHANTINIKETAN WORLD SCHOOL (10+2), ALIGARH

CLASS XII/COMPUTER SCIENCE/F2

UNIT NAME: Computational Thinking and Programming - 2


Book Name: Computer Science with Python (Sumita Arora)
Topics: Working with Functions
SUBTOPICS: Scope of Variables, Mutability/Immutability of Argument/Parameters and Function calls.

Scope of Variables
Scope
A variable is only available from inside the region it is created. This is called scope.
Global Scope
A variable created in the main body of the Python code is a global variable and belongs to the global scope.
Global variables are available from within any scope, global and local.
Example
A variable created outside of a function is global and can be used by anyone:
x = 300
def myfunc():
print(x)
myfunc()
print(x)

Naming Variables
If you operate with the same variable name inside and outside of a function, Python will treat them as two
separate variables, one available in the global scope (outside the function) and one available in the local scope
(inside the function):
Example

The function will print the local x, and then the code will print the global x:

x = 300

def myfunc():
x = 200
print(x)

myfunc()
print(x)

Global Keyword
If you need to create a global variable, but are stuck in the local scope, you can use the global keyword.
The global keyword makes the variable global.
Example
If you use the global keyword, the variable belongs to the global scope:
def myfunc():
global x
x = 300

myfunc()
print(x)

Also, use the global keyword if you want to make a change to a global variable inside a function.
Page 1 of 3
Example

To change the value of a global variable inside a function, refer to the variable by using the global keyword:
x = 300
def myfunc():
global x
x = 200
myfunc()
print(x)

Mutable/Immutability of Argument/Parameters and Function calls


Every variable in python holds an instance of an object. There are two types of objects in python
i.e. Mutable and Immutable objects.
To summarise the difference, mutable objects can change their state or contents and immutable objects can’t
change their state or content.
• Immutable Objects: These are of in-built types like int, float, bool, string, unicode, tuple. In simple
words, an immutable object can’t be changed after it is created.

# Python code to test that tuple are immutable


tuple1 = (0, 1, 2, 3)
tuple1[0] = 4
print(tuple1)
Error:
Traceback (most recent call last):
File "e0eaddff843a8695575daec34506f126.py", line 3, in
tuple1[0] =4
Type Error: 'tuple' object does not support item assignment

# Python code to test that strings are immutable


message = "Welcome to GeeksforGeeks"
message [0] = 'p'
print(message)

Error:
Traceback (most recent call last):
File "/home/ff856d3c5411909530c4d328eeca165b.py", line 3, in
message [0] = 'p'
Type Error: 'str' object does not support item assignment

Mutable Objects : These are of type list, dict, set . Custom classes are generally
mutable.
# Python code to test that lists are mutable

color = ["red", "blue", "green"]


print(color)

color[0] = "pink"
color[-1] = "orange"
print(color)
Page 2 of 3
Output:
['red', 'blue', 'green']
['pink', 'blue', 'orange']
HOME ASSIGNMENT:
1. Find and write the output of the following python code:
a=10
def call ():
global a
a=15
b=20
print(a)
call ()
Ans: 15
2. Find and write the output of the following python code:
def Change (P, Q=30):
P=P+Q
Q=P-Q
print (P, “#”, Q)
return (P)
R=150
S=100
R=Change (R, S)
print (R, “#”, S)
S=Change (S)

Ans: 150#50
150#100
100#70

3. Predict the output of the following code fragment?


def func (message, num=1):
print(message*num)
func (‘Python’)
func (‘Easy’, 3)

Ans: Python
EasyEasyEasy

4. Find and write the output of the following python code:


def fun (s):
k=len(s)
m= “ “
for i in range (0, k):
if (s[i].isupper()):
m=m+s[i].lower()
ifelse s[i].isalpha():
m=m+s[i].upper()
else:
m=m+ ‘bb’
print(m)
fun (‘school12@com’)
Ans: SCHOOLbbbbCOM

Page 3 of 3

You might also like