Python Interview Questions and Answers

Last update: 26 Dec 2020, 53 Questions
Python Interview Questions

A high-level, interactive, and object-oriented scripting language, Python is a highly readable language that makes it ideal for beginner-level programmers.  Here we can help you to prepare for the best Python interview questions. It uses English keywords and has fewer syntactical constructions as compared to other languages. Similar to PERL and PHP, Python is processed by the interpreter at runtime. Python supports the Object-Oriented style of programming, which encapsulates code within objects.

Python can be used for developing Websites, Web Apps, and Desktop GUI Applications. Here is a list of the most frequently asked Python Programming Interview Questions to learn more.

Quick Questions about Python
What is the latest version of Python? 3.8.3 and released on May 13, 2020.
Who has invented Python? Guido van Rossum
What language does Python use? C languages
License Python releases have also been GPL-compatible.

Did you know, Python is also referred to as a “batteries included” language due to its in-depth and comprehensive standard library. Our Questions on Python have been selected from a plethora of queries to help you gain valuable insights and boost your career as a Python Developer.

Most Frequently Asked Python coding interview questions

Here in this article, we will be listing frequently asked Python Interview Questions and Answers with the belief that they will be helpful for you to gain higher marks. Also, to let you know that this article has been written under the guidance of industry professionals and covered all the current competencies.

1. Why are dictionaries useful in Python?

In Python, dictionaries are essential as they are incredibly flexible, and they allow any data which is given to be stored as a value. It could be anything such as primitive types like strings and decimals like floats to even more complex types like objects.

2. What are the main features of Python?
Here are some important features of Python:
  • Being easy to learn, it is considered as the best language for beginner developers.
  • It is an interpreted language.
  • It is cross-platform in nature.
  • Free and Open source
  • It is based on an Object-Oriented Programming Language (OOPS)
  • It has extensive in-built libraries
3. What is self variable in Python?

In Python, a self variable is used for binding the instance within the class to the instance inside the method. In this, to access the instance variables and methods, we have to explicitly declare it as the first method argument.



class Dog:
    def __init__(self, breed):
        self.breed = breed
    def bark(self):
        print(f'{self.breed} is continuously barking.')
d = Dog('German Shepherd')

German Shepherd is continuously barking.

4. What is monkey patching in Python with an example?

In Python, the term monkey patching refers to the dynamic/run-time changes taking place within a class or module. Here's an example:

Note: Being one of the most sought after languages, Python is chosen by small and large organizations equally to help them tackle issues. Our list of Python Coding Interview Questions shall help you crack an interview in organizations using Python while making you a better Python Developer.



import monk
def monkey_f(self):
     print "monkey_f() is being called"  
monk.A.func = monkey_f
obj = monk.A()


monkey_f() is being called

5. What is PEP 8?

PEP in Python stands for Python Enhancement Proposal. The PEP 8 is basically Python’s style guide. It helps in writing code to specific rules making it helpful for large codebases having multiple writers by bringing a uniform and predictive writing style.

6. How is it possible to share global variables across various modules?

In order to share global variables across different modules within a single program, you need to create a special module. After that, just import the config module in all of the modules of your application. This will make the module available as a global variable across all the modules.

7. Why is flask used in Python?

A Flask is a micro web framework for Python based on the "Werkzeug, Jinja 2 and good intentions". Werkzeug and jingja are its dependencies. Because a Flask is part of the micro-framework, it has little or no dependencies on the external libraries. A Flask also makes the framework light while taking little dependency and gives fewer security bugs.

Note: These python programming interview questions have been designed specially to get you familiar with the nature of questions.

8. What is the difference between list and tuples?
Tuples Lists
Items in a tuple are surrounded by a parenthesis () Items are surrounded in square brackets [ ]
They are immutable in nature Lists are by nature immutable
There are 33 available methods in it. There are 46 methods here.
Keys can be created using Tuples. No, keys can’t be created using these
9. How is Python interpreted?

Python is an interpreted language. It runs directly from the source code and converts the source code into an intermediate language. This intermediate language is translated into machine language and has to be executed.

10. How to print the first 5 elements of list python? To generate the first 5 elements from a list in Python, use the isclice function as follows:



From itertools import islice
l = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20]
iterator = islice(l, 5)
for item in iterator:
    print item



11. What is pickling and unpickling?

Pickling in Python basically refers to the method of serializing the objects within multiple binary streams. It is used to save the state of the objects and then reuse them at another time without losing instance-specific data.

Unpickling is simply the opposite of pickling

Note: Our questions on Python has been created by seasoned Python experts. It shall help you to answer some of the most frequently asked questions during a job interview.

12. How we can copy an object in Python? In Python, we can use try copy.copy () or copy.deepcopy() for copy an object.
13. How can you access a session in Flask?

A session allows the programmer to remember information from one request to another. In a flask, a session uses a signed cookie so that the user can look at the contents and modify them. The programmer will be able to modify the session only if it has the secret key Flask.secret_key.

14. What is lambda? Why do lambda forms not have statements?

Lambda is an anonymous expression function that is often used as an inline function. Its form does not have a statement as it is only used to make new functional objects and then return them at the runtime.

15. How to create an empty class in Python?

In Python, an empty class can be created by using the “pass” command. This can be done only after the defining of the class object because at least one line of code is mandatory for creating a class. Here’s an example of how to create an empty class:



class customer:

customer1 = customer()

customer1.first_name = 'Jason'
customer1.last_name = 'Doe'

16. What is the use of Xrange in Python?

In Python, the use of the xrange() function is to generate a sequence of numbers that are similar to the range() function. But, the xrange() function is used only in Python 2. xx whereas the range() is used in Python 3.

17. What is the use of __ init __ in Python?

The "init" is an example of a reserved method in python classes. It is actually known as a constructor in the object-oriented concepts and techniques. It is called when an object is created within a class, and then it allows the same class to initialize the attributes within.

18. What is a slice object in Python?

The Slicing() object in Python allows users to access parts and sequences of data types such as strings, tuples, and lists. Slicing can also be used to modify or even delete items that have mutable sequences such as lists. Besides that, slices can also be integrated with third-party apps like NumPy arrays, data frames, and Panda series.

Syntax: slice(start, stop, step)

19. How is memory managed in Python?

Memory is managed by the private heap space. All objects and data structures are located in a private heap, and the programmer has no access to it. Only the interpreter has access. Python memory manager allocates heap space for objects. The programmer is given access to some tools for coding by the core API. The inbuilt garbage collector recycles the unused memory and frees up the memory to make it available for the heap space.

Note: This is a type of most frequently asked python developer interview questions.

20. What is a negative index in Python?

In Python, the negative index is used to index by starting from the last element in a list, tuple, or any other container class which supports indexing. Here, (-1) points to the previous index, -2 to the second last index and similarly.

21. What is pass in Python? What are the differences between pass and continue?

Pass means where there is a no-operation Python statement. It is just a placeholder in a compound statement where nothing needs can be written. The continue makes the loop to resume from the next iteration.

22. Why multithreading is not possible in python?

One of the many confusing questions in Python, yes, Python does support threading, but, due to the presence of GIL multi-threading is not supported. The GIL basically does not support the running of multiple CPU cores parallelly, hence, multithreading is not supported in Python.

23. How to check the prime number in Python?

Here's a program to check whether a number is prime or not.

Note: Python is an interpreted bytecode-complied language. Our list of Python Coding Interview Questions will clear the basic as well as complex concepts of this high-level programming language.



num = 11
if num > 1:     
   for i in range(2, num//2):

   if (num % i) == 0:
           print(num, "is not a prime number")
       print(num, "is a prime number")
   print(num, "is not a prime number")
11 is a prime number

24. Which of the keyword is used to display a customized error message to the user in Python?

You should use a try-except keyword to capture the error and use the raise keyword to display the error message of your choice. Here's an example demonstrating the same:

    a = int(input())
    raise Exception('An error is being raised in the system')

25. How do you create a null object in Python?

In Python, to display a null object, the None statement is used. Here's the syntax to check for if the object is null:

26. What happens when you import a module Python?

When a module is imported in Python, the following happens behind the scenes:
It starts with searching for mod.py in a list of directories which have been gathered from the following sources:

  • The original directory from where the input script was actually being run or in the current list if the interpreter is being run interactively side by side.
  • List of the directories within the PYTHONPATH environment variable, if it is actually set.
  • A directory list from the installed directories would have been configured at the time of installation of Python itself.

Note: After learning the basics of Python, if you are looking for what more to learn, you can start with meta-programming, buffering protocols, iterator protocols, and much more. We have created a list of Python Interview Questions for Experienced professionals to help them use this language to solve complex problems.

27. How do you use range in Python?

The range() is an in-built function in Python, which is used to repeat an action for a specific number of times.

Let us give you an example to demonstrate how the range() function works:



sum = 0
for i in range(1, 11):
    sum = sum + i
print("Sum of first 10 number :", sum)


Sum of first 10 number: 55

28. How do you call a superclass method in Python?

Here’s how to call a superclass method in python:



class Parent:
    def show(self):
        print("Inside Parent class")
class Child(Parent):
    def display(self):
        print("Inside Child class")

obj = Child()


Inside Child class
Inside Parent class

29. What is MRO in python?

Method resolution order or MRO refers to when one class inherits from multiple classes. The class that gets inherited is the parent class and the class that inherits is the child class. It also refers to the order where the base class is searched while executing the method.

30. What is the use of repr function in Python?

This function returns to a printable presentation for the given object. It takes a single object & its syntax is repr(obj). The function repr computes all the formal string representation for the given object in Python.

31. Narrate the difference between Python arrays and lists.

Both lists and arrays in Python can store the data in the same way.
The difference is-

Array List
An array can hold single data type elements. Lists in Python can hold any type of data element.
32. What is Python magic method?

It refers to the method which adds a certain value to the class. It can’t be initiated by the user rather only occurs when an internal action takes charge. In python, the built-in classes define a number of magic methods.

33. What is the difference between repr and str in Python?
Repr() Str()
It is unambiguous It is readable
It can be implemented for any class Implement in case of the string version
Used to compute official Used to compute informally
It displays object Displays string representations
34. What is Python?

A high-level, interactive, and object-oriented scripting language, Python is a highly readable language that makes it ideal for beginner-level programmers. It uses English keywords and has fewer syntactical constructions as compared to other languages.

35. What is typecasting in python?

The entity that changes the data types from one form to another is known as typecasting. In programming languages, it is used to make sure the variables are processed in the correct sequence by the function.

E.g., while converting an integer to string.

The popularity of programming languages depends on their functionalities, ease of learning, and usage. Python is easy to learn, very efficient, and has a large dev community. Here’s a list of Python Basic Interview Questions to help you start your journey as a Python Developer.

36. What is the type () in Python?

The built-in method which decides the types of the variable at the program runtime is known as type() in Python. When a single argument is passed through it, then it returns given object type. When 3 arguments pass through this, then it returns a new object type.

37. Do you know the number of keywords in Python? Why should you know them all?

In total, there are 33 keywords in Python. It is important to know them all in order to know about their use so we can utilize them. In additon, while we are naming a variable, the name cannot be matched with the keywords. This is another reason to know all the keywords.

38. What tools can help find bugs or perform the static analysis?

For performing Static Analysis, PyChecker is a tool that detects the bugs in source code and warns the programmer about the style and complexity. Pylint is another tool that authenticates whether the module meets the coding standard.

39. What are the differences between Pyramid, Django, and Flask?

A Flask is a microframework build for small applications with more straightforward requirements. Flask comes ready to use.

Pyramids are built for larger applications. They provide flexibility and allow the developer to use the right tools for their projects. The developer is free to choose the database, templating style, URL structure, and more. Pyramids is configurable.

Similar to Pyramids, Django can be used for larger applications. It includes an ORM.

40. How is multithreading achieved in Python?

A thread is a lightweight process. Multithreading allows the programmer to execute multiple threads in one go. The Global Interpreter Lock ensures that a single thread performs at a given time. A thread holds the GIL and does some work before passing it on to the next thread. This looks like parallel execution, but actually, it is just threading taking turns at the CPU.

NOTE: The page you are accessing has some of the most basic and complex Python Interview Questions and Answers. You can download it as a PDF to read it later offline.

41. How do you randomize a list in Python?

from random import shuffle

x = ['My', 'Singh', 'Hello', 'India']



The output of the following code is as below.

['Singh', 'India', 'Hello', 'My']

42. In Python, how can you generate random numbers?

In Python, an array of random integers can be generated through the function randint () NumPy. This function usually starts with three arguments; from the lower end, the upper-end range and the number of actual integer values to successfully generate the size of the array.

43. How web scraping is done in Python, explain in short?
  • Select the URL you want to scrap
  • Inspect the page
  • Select data you want to extract
  • Write the codes and run them

Once the data is extracted store the data in any required format

44. What is the OS module?

The way of using the operating system dependent functionalities is an OS module. Through this function, the interface is provided with the underlying operating system for which Python is running on.

45. What do you understand by DeQue in Python?

DeQue module is a segment of the collection library that has a feature of addition and removal of the elements from their respective ends.

46. In Python, what is Theano?

It is a Python library used to optimize, define, and execute the mathematical expressions including multidimensional arrays.

47. Name the built-in types provided by Python?

There are two categories of ‘types’ present in Python, which is mutable and immutable.

Mutable built-in types
  • List
  • Dictionary
  • Set
Immutable built-in type
  • String
  • Number
  • Tuple
48. What is %S in Python? Python easily supports the formatting for any value into a string which may contain a number of complex expressions. The utility includes pushing the values with the help of % format specifier into a string.
49. How will you do debugging in Python? Debugging in Python can be done by utilizing the inbuilt module pdb. This module actually defines the interactive source code debugger for all the Python programs.
50. What is the use of dir () function in Python?

In Python, the dir() function is used to return all the properties and methods within a specified object, without actually having the values. The dir() function shall return all the features and methods present, including the in-built properties, which are set as default for all the objects within.



Here’s a short example to demonstrate the dir() function in Python:

class Person:
  name = "John"
  age = 36
  country = "Norway"



['__doc__', '__module__', 'age', 'country', 'name']

51. What is shallow copy Python?

In Python, a shallow copy essentially means building a new collection of objects and then referencing it with the child objects found in the original group of the object.

Note: Did you know, Python is also referred to as a “batteries included” language due to its comprehensive standard library. Our Python Interview Questions have been selected from a plethora of queries to help you gain valuable insights and boost your career as a Python Experts.

52. How do you create a Namedtuple in Python?

To create a named tuple in Python, follow these steps:

  • Import the namedtuple class from the collections module.
  • Now, the constructor shall take the name of the named tuple and a string containing the names of the field, separated by whitespace.
  • The above action shall return a new namedtuple class for the specified fields.
  • To use the new namedtuple, call the new class with all the values (in order) as parameters.
53. How to send an email using Python?

To send an email in Python, follow these steps along with the code:



import smtplib

sender = '[email protected]'
receivers = ['[email protected]']

message = """From: From Person <[email protected]>
To: To Person <[email protected]>
Subject: SMTP email test in Python

This is a test email message in Python.

   smtpObj = smtplib.SMTP('localhost')
   smtpObj.sendmail(sender, receivers, message)         
   print "Successfully sent the email"
except SMTPException:
   print "Error display: Python is unable to send an email"

Key Points of Python
  • Similar to PERL and PHP, Python is processed by the interpreter at runtime. Python supports the Object-Oriented style of programming, which encapsulates code within objects.
  • Derived from other languages, such as ABC, C, C++, Modula-3, SmallTalk, Algol-68, Unix shell, and other scripting languages.
  • Python is copyrighted, and its source code is available under the GNU General Public License (GPL).
  • Supports the development of many applications, from text processing to games.
  • Works for scripting, embedded code, and compiled the code.
  • Detailed
About Best Interview Question
Best Interview Question
Technical Consultant

With our 10+ experience in PHP, MySQL, React, Python & more our technical consulting firm has received the privilege of working with top projects, 100 and still counting. Our team of 25+ is skilled in distinct programming languages such as Python, Java, React.js, Angular, Node.js, PHP, HTML, CSS, Designing, iOS and Android apps, Database, .net, QA, Digital Marketing and Govt. jobs, etc. We are helping 10+ companies in solving their technical problems. When not found coding, our technical consultants can be seen helping out others.