Explanations "Top Python Quiz Questions"
349 subscribers
80 photos
1 link
Explanations "Top Python Quiz Questions"
Download Telegram
What will be the output of the following Python code?

x = ['ab', 'cd']
for i in x:
i.upper()
print(x)


[‘ab’, ‘cd’]
[‘AB’, ‘CD’]
[None, None]
none of the mentioned

Explanation:
The function upper() does not modify a string in place, it returns a new string which isn’t being stored anywhere.
What is the result when you run the code?

from functools import reduce
numbers = [1, 2, 3]
reduce(lambda x, y: x + y, numbers)


SyntaxError
3
6
2

Explanation:
reduce() applies the function cumulatively to the items of the given sequence. Hence, it becomes 1 + 2 = 3 and then 3 + 3 = 6.
What will be the output of the following Python code?

x=1
def cg():
global x
x=x+1
cg()
x


2
1
0
Error

Explanation:
Since ‘x’ has been declared a global variable, it can be modified very easily within the function. Hence the output is 2.
Which of the following lines of code will not show a match?

>>> re.match(‘ab*’, ‘a’)
>>> re.match(‘ab*’, ‘ab’)
>>> re.match(‘ab*’, ‘abb’)
>>> re.match(‘ab*’, ‘ba’)

Explanation:
In the code shown above, ab* will match to ‘a’ or ‘ab’ or ‘a’ followed by any number of b’s. Hence the only line of code from the above options which does not result in a match is: >>> re.match(‘ab*’, ‘ba’).
What will be the output of the following Python code?

def foo(k):
k = [1]
q = [0]
foo(q)
print(q)


[0]
[1]
[1, 0]
[0, 1]

Explanation:
A new list object is created in the function and the reference is lost. This can be checked by comparing the id of k before and after k = [1].
What will be the output of the following Python code?
print("abc DEF".capitalize())


abc def
ABC DEF
Abc def
Abc Def

Explanation:
The first letter of the string is converted to uppercase and the others are converted to lowercase.
What will be the output of the following Python code?
class A:
@staticmethod
def a(x):
print(x)
A.a(100)


Error
Warning
100
No output

Explanation:
The code shown above demonstrates rebinding using a static method. This can be done with or without a decorator. The output of this code will be 100.
What will be the output of the following Python code?
def foo(k):
k = [1]

q = [0]
foo(q)
print(q)

[0]
[1]
[1, 0]
[0, 1]

Explanation:
A new list object is created in the function and the reference is lost. This can be checked by comparing the id of k before and after k = [1].
What will be the output of the following Python code snippet?
a = [0, 1, 2, 3]
for a[0] in a:
print(a[0])


0 1 2 3
0 1 2 2
3 3 3 3
0 0 0 0
error

Explanation:
The value of a[0] changes in each iteration. Since the first value that it takes is itself, there is no visible error in the current example.
What will be the output of the following Python code?
class Demo:
def __init__(self):
self.a = 1
self.__b = 1

def display(self):
return self.__b

obj = Demo()
print(obj.__b)


The program has an error because there isn’t any function to return self.a
The program has an error because b is private and display(self) is returning a private member
The program has an error because b is private and hence can’t be printed
The program runs fine and 1 is printed

Explanation:
Variables beginning with two underscores are said to be private members of the class and they can’t be accessed directly.
What will be the value of X in the following Python expression
X = 2+9*((3*12)-8)/10


30.0
30.8
28.4
27.2

Explanation:
The expression shown above is evaluated as: 2+9*(36-8)/10, which simplifies to give 2+9*(2.8), which is equal to 2+25.2 = 27.2. Hence the result of this expression is 27.2.
What will be the output of the following Python code?
re.split(r'(a)(t)', 'Maths is a difficult subject')


[‘M a t h s i s a d i f f i c u l t s u b j e c t’]
[‘Maths’, ‘is’, ‘a’, ‘difficult’, ‘subject’]
‘Maths is a difficult subject’
[‘M’, ‘a’, ‘t’, ‘hs is a difficult subject’]

Explanation:
The code shown above demonstrates the use of the function re.match. The first argument of this function specifies the pattern. Since the pattern contains groups, those groups are incorporated in the resultant list as well. Hence the output of the code shown above is [‘M’, ‘a’, ‘t’, ‘hs is a difficult subject’].
What is the output of print 0.1 + 0.2 == 0.3?

True
False
Machine dependent
Error

Explanation:
Neither of 0.1, 0.2 and 0.3 can be represented accurately in binary. The round off errors from 0.1 and 0.2 accumulate and hence there is a difference of 5.5511e-17 between (0.1 + 0.2) and 0.3.
What is the output of the following code?
aTuple = (100, 200, 300, 400, 500)
aTuple[1] = 800
print(aTuple)


TypeError
(100, 800, 200, 300, 400, 500)
(800, 100, 200, 300, 400, 500)

Explanation:
A tuple is immutable. Once a tuple is created, you cannot change its values. If you try to change its value, you will receive a TypeError: 'tuple' object does not support item assignment
What happens in the code?
class A: 
def __init__(self, i=100):
self.i=i
class B(A):
def __init__(self,j=0):
self.j=j
def main():
b= B()
print(b.i)
print(b.j)
main()


Class B inherits all the data fields of class A.
Class B needs an Argument.
The data field ‘j’ cannot be accessed by object b.
Class B is inheriting class A but the data field ‘i’ in A cannot be inherited.

Explanation:
Reason being that i is initiated with self thus making it a instantiate variable of that class which cannot be inherited by the above way.
What is output for the following code?
a = ['hat', 'mat', 'rat']
'rhyme'.join(a)


[‘hat’,’mat’,’rat’,’rhyme’]
‘hatmatratrhyme’
[‘hat mat rat rhyme’]
‘hatrhymematrhyme rat’

Explanation:
The method join() takes list of string as input and returns string as output. It removes ‘,’ and add the given string with join to the list.
What is output of following code?
class Count:
def __init__(self, count=0):
self.__count=count
a=Count(2)
b=Count(2)
print(id(a)==id(b), end = '' '')

c= ''hello''
d= ''hello''
print(id(c)==id(d))


True False
False True
False False
True True

Explanation:
The objects with same contents share the same object in the python library but this is not true for custom-defined immutable classes.
What will be the output of the following Python code snippet?
first = bool('False')
second = bool()
print(str(first) + " " + str(second))


True True
False True
True False
False False

Explanation:
The Boolean function returns true if the argument passed to the bool function does not amount to zero. In the first example, the string ‘False’ is passed to the function bool. This does not amount to zero and hence the output is true. In the second function, an empty list is passed to the function bool. Hence the output is false.
What is the output of the following?
x = 'abcd'
for i in range(len(x)):
x[i].upper()
print (x)


abcd
ABCD
error
none of the mentioned

Explanation:
Changes do not happen in-place, rather a new instance of the string is returned.
What is the value of b?
a, b, c = (1, 2, 3, 4, 5, 6, 7, 8, 9)[1::3]


2
5
6
4

Explanation:
The slice expression on the right side of the assignment produces the tuple (2, 5, 8). The assignment is thus equivalent to this compound tuple packing/unpacking assignment: a, b, c = (2, 5, 8). As a result b is given the value 5.
What is the output of the following?
D = dict() 
for x in enumerate(range(2)):
D[x[0]] = x[1]
D[x[1]+7] = x[0]
print(D)


{0: 1, 7: 0, 1: 1, 8: 0}
{1: 1, 7: 2, 0: 1, 8: 1}
{0: 0, 7: 0, 1: 1, 8: 1}
KeyError

Explanation:
enumerate() will return a tuple, the loop will have x = (0, 0), (1, 1). Thus D[0] = 0, D[1] = 1, D[0 + 7] = D[7] = 0 and D[1 + 7] = D[8] = 1.
Note:
Dictionary is unordered, so the sequence of the key-value pair may differ in each output.