Run the following Python statements and briefly explain why you get the behavior displayed by the print functions.

Problem Part A

a = 5
b = a
print (id(a), id(b))
 
c = b
b = 3
print (a,b,c)
print (id(a),id(b),id(c))
 
b = a
b = 5
print (id(a), id(b))

Problem Part B

a = [5]
b = a
print (id(a), id(b))
 
b.append(1)
print (a,b)
print (id(a),id(b))

Problem Part C

a = [5]
b = list(a)
print (a,b)
print (id(a), id(b))
 
b = a[:]
print (a,b)
print (id(a), id(b))

Problem Part D

a = (5,)
b = tuple(a)
print (id(a), id(b))
 
b = a[:]
print (id(a), id(b))

Comments