Even the best Python programmers need to prepare when it comes to facing an interview. However, they might quickly catch up with the competition than those who recently started studying Python programming. So to fill this gap, we are laying down the top 20 Python programming interview questions for both beginners and experienced.
Our Q&A experts amalgamatedย a variety of topics to prepare questions that aim to evaluate a programmer against the basic, intermediate, and advanced-level skills. We ruled out the typecasted questions and kept only those that focus on the practical aspects of the Python programming language.
However, itโs entirely possible that you already know some of them. But we think you would still benefit from reading. Itโs because we made sure that the answers areย brisk and pertinent.
Also, we have a unique set of 100+ย Python interview questions designed for beginners and freshers. Please read them too and increase your chances of getting through a Python interview.
Letโs now dive into the Python Programming Q&A section.
Python Programming Interview Questions

Q-1. What are the core default modules available in Python? List down a few of them.
Ans. Following are a few of the default modules available in Python.
- email โย Help to parse, handle, and generate email messages.
- string โ Contains functions to process standard Python strings.
- sqlite3 โ Provides methods to work with the SQLite database.
- XML โ Enables XML support.
- logging โ Adds support for log classes and methods.
- traceback โ Allows to extract and print stack trace details.
Q-2. Why is <__init__.py> module used in Python?
Ans.
The <__init__.py> module does the following:
1. It makes Python interpret directories as containing packages by excluding the ones with a common name such as string.
2. It grants a programmer the control to decide which directory is a package and which is not.
3. However, the <__init__.py> can also be an empty file. It can then help in executing the initialization code for a package or setting the <__all__> variable.
Q-3. What is a negative index in Python?
Ans.
In Python, we can access both arrays & lists using a positive or negative numbers (aka index). A negative index reads the list elements from the end counting in the backward direction. Check out from the example given below.
import array
a = [1, 2, 3]
print(a[-3])
print(a[-2])
print(a[-1])
// Output
// 1
// 2
// 3
Q-4. What is Pickling and how does it differ from Unpickling?
Ans.
Pickling is a process by which a Python object gets converted into a string via a pickle module. The process then puts it into a file by calling the dump() method.
Whereas unpickling does the reverse of the above-said process. It retrieves the stored string and turns it back into an object.
Q-5. What is slicing in Python? Explain with example.
Ans.
Slicing in Python is a mechanism to select a range of items from Sequence types like strings, list, tuple, etc.
>>> l=[1,2,3,4,5]
>>> l[1:3]
[2, 3]
>>> l[1:-2]
[2, 3]
>>> l[-3:-1] # negative indexes in slicing
[3, 4]
>>> s="Hello World"
>>> s[1:3]
'el'
>>> s[:-5]
'Hello '
>>> s[-5:]
'World'
Q-6. What are the different ways to generate random numbers in Python?
Ans.
#1. random() -ย returns a floating point number, between 0 and 1.
#2. uniform(X, Y) -ย returns a floating point number between the values given as X and Y.
#3. randint(X, Y) -ย returns a random integer between the values given as X and Y.
Q-7. Why is the โpassโ keyword used for in Python?
Ans.
The โpassโ keyword is aย no-operation statement inย Python. It signals that no action is required. It works as a placeholder in compound statements which are intentionally left blank.
x = 0
if x==0:
pass
else:
print("x!=0")
Q-8. What are iterators in Python?
Ans.
Iterators in Python enables to traverse containers like a list or a set of elements. For a container to support iterator, it must provide the <__iter__()> method.
container.__iter__() :
# This returns an iterator object.
Q-9. What are the generators in Python?
Ans.
Generators are a way of implementing iterators. A generator function is a normal function except that it contains yield expression in the function definition making it a generator function.
This function returns a generator iterator known as a generator.
To get the next value from a generator, we use the same built-in function as for iterators: <next(). next()> takes care of calling the generatorโs <__next__()> method.
Q-10. How will you run a subprocess or an external program with arguments in Python?
Ans.
There are two methods which can run a subprocess orย external programs. First is to use the subprocess module in the stdlib.
from subprocess import call
call(["ls", "-l"])
The advantage of subprocess vs system is that it is more flexible. You can get the stdout, stderr, the โrealโ status code and better error handling. The second approach to run a program with arguments is as follows.
subprocess.Popen(arglist,stdout=outputfile)
Q-11. How will you remove the duplicate elements from theย given list?
words = [โoneโ, โoneโ, โtwoโ, โthreeโ, โthreeโ, โtwoโ]
Ans.
A simple solution is to iterate over the list, identify duplicates and remove them.
But the best solution which we can recommend is as follows.
a = [1,2,2,3]
list(set(a))
The set is another type available in Python. It doesnโt allow copies and provides some good functions to perform set operations like union, difference etc.
Q-12. How will you print the sum of numbers starting from 1 to 100 (inclusive of both)?
Ans.
print sum(range(1,101))
#range() returns a list to the sum function containing
#all the numbers from 1 to 100. Please see that
#the range function does not include the end given (101 here).
print(sum(xrange(1, 101)))
#xrange() returns an iterator rather than a list
#which is less heavy in the memory.
Q-13. What is the best approach to store a list of an employeeโs first and last names?
Ans.
A list of first and last names is best stored as a list of dictionaries. The following format can be used.
{'first_name':'Example','last_name':'TechBeamers'}
Q-14: Does Python allow arguments Pass by Value or Pass by Reference?
Ans.
Neither the arguments are Pass by Value nor does Python supports Pass by reference. Instead, they are Pass by assignment.
The parameter which you pass is originally a reference to the object not the reference to a fixed memory location. But the reference is passed by value. Additionally, some data types like strings and tuples are immutable whereas others are mutable.
Q-15. What are the different methods Python provides for copying an object?
Ans.ย We can either use a โShallow Copyโ or follow a โDeep Copyโ approach.
Shallow Copy method.
The content of an object (say dictionary) doesnโt get copied by value but by creating a new reference.
>>> a = {1: [1,2,3]}
>>> b = a.copy()
>>> a, b
({1: [1, 2, 3]}, {1: [1, 2, 3]})
>>> a[1].append(4)
>>> a, b
({1: [1, 2, 3, 4]}, {1: [1, 2, 3, 4]})
Deep Copy method.
It copies all the contents by value.
>>> c = copy.deepcopy(a)
>>> a, c
({1: [1, 2, 3, 4]}, {1: [1, 2, 3, 4]})
>>> a[1].append(5)
>>> a, c
({1: [1, 2, 3, 4, 5]}, {1: [1, 2, 3, 4]})
Q-16. How will you convert a string to a number in Python?
Ans.
Python provides the <int()> method, a standard built-in function to convert a string into an integer value.
You can call it with a string containing a number as the argument, and it returns the number converted to an actual integer.
print int("1") + 1
The above prints 2.
Q-17. How will you set a global variable inside a function?
Ans.
You can use a global variable in other functions by declaring it as global in each function that assigns to it:
globvar = 0
def set_globvar_to_one():
global globvar # Needed to modify global copy of globvar
globvar = 1
def print_globvar():
print globvar # No need for global declaration to read value of globvar
set_globvar_to_one()
print_globvar() # Prints 1
I imagine the reason for it is that, since global variables are so dangerous, Python wants to make sure that you really know thatโs what youโre playing with by explicitly requiring the global keyword.
Q-18. How will you share global variables across modules?
Ans.
If you add a variable to the <__builtin__> module, it will be accessible as if a global from any other module that includes <__builtin__> โ which is all of them, by default.
a.py contains
print foo
b.py contains
import __builtin__
__builtin__.foo = 1
import a
The result is that "1" is printed.
Note: Python 3 introduced the builtins keyword as a replacement for the <__builtin__>.
Q-19. Is there a tool to help find bugs or perform the static analysis?
Ans.
Yes. PyChecker is a static analysis tool. It finds bugs in the source code and raises alerts for the issues in code complexity or style.
Pylint is another tool that checks if a module meets the coding standard. It also supports additional plug-ins to enable custom features.
Q-20. How can you perform unit testing in Python?
Ans.
Python packages a unit testing framework called <Unittest>. It supports the following features.
- Automation testing.
- Sharing of setup and shutdown code for tests.
- Aggregation of tests into collections.
- Independence of the tests from the reporting framework.
Summary โ Python Programming Interview Questions
These interview questions would not only back your preparation but give you a way out to test your knowledge. You can continue reading tutorial by tutorial but will get dried up in the end.
Thatโs why we formulated this listย ofย Python programming interview questions so that you can test your skills and could feel a bit refreshed.
May the post would have met your expectations. If you indeed find it useful, then let it spread through your social circles.
We would love to hear from you. So donโt mind using the comment box.
All the Best,
TechBeamers
Hi Meenakshi,
Most of the questions seems relevant for initial preparation, but you most of the questions are available on every link of python interview. It will be good you can add few more advanced python related questions like.
1. Threading in python
2. Few frequently used library specific programs (os, sys, datetime, stack, queue, logging, unittest etc.)
3. How to use OOPs concepts in python.
Thanks Maric for stopping by on our blog. I slightly disagree with one of the points you made โitโs not good to rely on something prepared in advanceโ. What I think is that a person would only gain from preparing before hand. And itโs also true that there would always be something which one canโt plan. Thatโs where all these preparations come in handy.
However, glad to learn that you liked the stuff posted here.
These are good questions to practice in preparation for a programming interview, but Iโm not sure if the questions would show up in an actual interview. It seems to me that most employers want to evaluate a candidateโs ability to solve problems efficiently, and for that, itโs not good to rely on something prepared in advance. The whole point of programming is figuring out how to solve new problems, and thatโs what any good coding test should evaluate. In order to achieve this, companies should either create their own unique problems/questions or use a service that does the same.
But these questions are still very good learning and practice material, so thank you for that.
Good Blog
Thanks @Dasa for praising the set of python programming interview questions. Weโll soon come up with a fresh set of questions.
Real good set of python programming interview questions.
Appreciated Thanks!
Thanks!