Top Python Interview Questions (2023)

Table of Contents

 Python Interview Questions

 Python Interview Questions:- Python was developed by Guido van Rossum and was released first on February 20, 1991. It is one of the most widely-used and loved programming languages and is interpreted in nature thereby providing flexibility of incorporating dynamic semantics. It is also a free and open-source language with very simple and clean syntax.


Python is among the most popular programming languages today. Major organizations in the world build programs and applications using this object-oriented language. Here, you will come across some of the most frequently asked questions in Python job interviews in various fields. Our Python interview questions for experienced and freshers will help you in your interview preparation. Let us take a look at some of the most popular and significant Python programming interview questions and answers

Top Python Interview Questions (2022)

In this article, we will see the most commonly asked python interview questions and answers

These Python Developer interview questions will help you land in following job roles:

  • Python Developer
  • Research Analyst
  • Data Analyst
  • Machine learning engineer
  • Software Engineer
  • Data Scientist

Top 100+ Python Interview Questions and Answers For 2022

Python Interview Questions for Freshers

1. What is Python? What are the benefits of using Python

Python is a high-level, interpreted, general-purpose programming language. Being a general-purpose language, it can be used to build almost any type of application with the right tools/libraries. Additionally, python supports objects, modules, threads, exception-handling, and automatic memory management which help in modelling real-world problems and building applications to solve these problems.Benefits of using Python:

  • Python is a general-purpose programming language that has a simple, easy-to-learn syntax that emphasizes readability and therefore reduces the cost of program maintenance. Moreover, the language is capable of scripting, is completely open-source, and supports third-party packages encouraging modularity and code reuse.
  • Its high-level data structures, combined with dynamic typing and dynamic binding, attract a huge community of developers for Rapid Application Development and deployment.

2. What is a dynamically typed language?

Before we understand a dynamically typed language, we should learn about what typing is. Typing refers to type-checking in programming languages. In a strongly-typed language, such as Python, “1” + 2 will result in a type error since these languages don’t allow for “type-coercion” (implicit conversion of data types). On the other hand, a weakly-typed language, such as Javascript, will simply output “12” as result.Type-checking can be done at two stages –

  • Static – Data Types are checked before execution.
  • Dynamic – Data Types are checked during execution.

Python is an interpreted language, executes each statement line by line and thus type-checking is done on the fly, during execution. Hence, Python is a Dynamically Typed Language.

3. What is an Interpreted language?

An Interpreted language executes its statements line by line. Languages such as Python, Javascript, R, PHP, and Ruby are prime examples of Interpreted languages. Programs written in an interpreted language runs directly from the source code, with no intermediary compilation step.

4. What is PEP 8 and why is it important?

PEP stands for Python Enhancement Proposal. A PEP is an official design document providing information to the Python community, or describing a new feature for Python or its processes. PEP 8 is especially important since it documents the style guidelines for Python Code. Apparently contributing to the Python open-source community requires you to follow these style guidelines sincerely and strictly.

5. What is Scope in Python?

Every object in Python functions within a scope. A scope is a block of code where an object in Python remains relevant. Namespaces uniquely identify all the objects inside a program. However, these namespaces also have a scope defined for them where you could use their objects without any prefix. A few examples of scope created during code execution in Python are as follows:

  • local scope refers to the local objects available in the current function.
  • global scope refers to the objects available throughout the code execution since their inception.
  • module-level scope refers to the global objects of the current module accessible in the program.
  • An outermost scope refers to all the built-in names callable in the program. The objects in this scope are searched last to find the name referenced.

Note: Local scope objects can be synced with global scope objects using keywords such as global.

6. How is Memory managed in Python?

  • Memory in Python is managed by Python private heap space. All Python objects and data structures are located in a private heap. This private heap is taken care of by Python Interpreter itself, and a programmer doesn’t have access to this private heap.
  • Python memory manager takes care of the allocation of Python private heap space.
  • Memory for Python private heap space is made available by Python’s in-built garbage collector, which recycles and frees up all the unused memory.

7. What is PYTHONPATH?

PYTHONPATH has a role similar to PATH. This variable tells Python Interpreter where to locate the module files imported into a program. It should include the Python source library directory and the directories containing Python source code. PYTHONPATH is sometimes preset by Python Installer.

8. What are Python Modules?

Files containing Python codes are referred to as Python Modules. This code can either be classes, functions, or variables and saves the programmer time by providing the predefined functionalities when needed. It is a file with “.py” extension containing an executable code.

Commonly used built modules are listed below:

  • os
  • sys
  • data time
  • math
  • random
  • JSON

9. What are python namespaces?

Top 10 Interview Questions 2022

A Python namespace ensures that object names in a program are unique and can be used without any conflict. Python implements these namespaces as dictionaries with ‘name as key’ mapped to its respective ‘object as value’.

Let’s explore some examples of namespaces:

  • Local Namespace consists of local names inside a function. It is temporarily created for a function call and gets cleared once the function returns.
  • Global Namespace consists of names from various imported modules/packages that are being used in the ongoing project. It is created once the package is imported into the script and survives till the execution of the script.
  • Built-in Namespace consists of built-in functions of core Python and dedicated built-in names for various types of exceptions.

10. Explain Inheritance in Python with an example?

As Python follows an object-oriented programming paradigm, classes in Python have the ability to inherit the properties of another class. This process is known as inheritance. Inheritance provides the code reusability feature. The class that is being inherited is called a superclass or the parent class, and the class that inherits the superclass is called a derived or child class. The following types of inheritance are supported in Python:

  • Single inheritance: When a class inherits only one superclass
  • Multiple inheritance: When a class inherits multiple superclasses
  • Multilevel inheritance: When a class inherits a superclass, and then another class inherits this derived class forming a ‘parent, child, and grandchild’ class structure
  • Hierarchical inheritance: When one superclass is inherited by multiple derived classes

11. What is scope resolution?

A scope is a block of code where an object in Python remains relevant.Each and every object of python functions within its respective scope.As Namespaces uniquely identify all the objects inside a program but these namespaces also have a scope defined for them where you could use their objects without any prefix. It defines the accessibility and the lifetime of a variable.

Let’s have a look on scope created as the time of code execution:

  • A local scope refers to the local objects included in the current function.
  • A global scope refers to the objects that are available throughout execution of the code.
  • A module-level scope refers to the global objects that are associated with the current module in the program.
  • An outermost scope refers to all the available built-in names callable in the program.

12. What is a dictionary in Python?

Python dictionary is one of the supported data types in Python. It is an unordered collection of elements. The elements in dictionaries are stored as key-value pairs. Dictionaries are indexed by keys.

For example, below we have a dictionary named ‘dict’. It contains two keys, Country and Capital, along with their corresponding values, India and New Delhi.


dict={‘Country’:’India’,’Capital’:’New Delhi’, }

Output: Country: India, Capital: New Delhi

13. What are functions in Python?

A function is a block of code which is executed only when a call is made to the function. def keyword is used to define a particular function as shown below:

def function():
print("Hi, Welcome to Intellipaat")
function(); # call to the function

Hi, Welcome to Intellipaat

14. What is __init__ in Python?

Equivalent to constructors in OOP terminology, __init__ is a reserved method in Python classes. The __init__ method is called automatically whenever a new object is initiated. This method allocates memory to the new object as soon as it is created. This method can also be used to initialize variables.


(for defining the __init__ method):
class Human:
# init method or constructor
def __init__(self, age):
self.age = age
# Sample Method
def say(self):
print('Hello, my age is', self.age)
h= Human(22)


Hello, my age is 22

15. What are the common built-in data types in Python?

Python supports the below-mentioned built-in data types:

Immutable data types:

  • Number
  • String
  • Tuple

Mutable data types:

  • List
  • Dictionary
  • set

16. What are local variables and global variables in Python?

Local variable: Any variable declared inside a function is known as Local variable and it’s accessibility remains inside that function only.

Global Variable: Any variable declared outside the function is known as Global variable and it can be easily accessible by any function present throughout the program.

g=4                #global variable
def func_multiply():
l=5       #local variable
return m

Output: 20
If you try to access the  local variable outside the multiply function then you will end up with getting an error.

17. What is type conversion in Python?

Python provides you with a much-needed functionality of converting one form of data type into the needed one and this is known as type conversion.

Type Conversion is classified into types:

1. Implicit Type Conversion: In this form of type conversion python interpreter helps in automatically converting the data type into another data type without any User involvement.

2. Explicit Type Conversion: In this form of Type conversion the data type inn changed into a required type by the user.

Various Functions of explicit conversion are shown below:

int() –  function converts any data type into integer.
float() –   function converts any data type into float.
ord() – function returns an integer representing the Unicode character

hex() –  function converts integers to hexadecimal strings.

oct() –   function converts integer to octal strings.

tuple() – function convert to a tuple.

set() – function returns the type after converting to set.

list() – function converts any data type to a list type.

dict() – function is used to convert a tuple of order (key,value)
 into a dictionary.

str() –  function used to convert integer into a string.

complex(real,imag) – function used to convert real numbers to complex(real,imag) numbers.

18. How to install Python on Windows and set a path variable?

For installing Python on Windows, follow the steps shown below:

  • Click on this link for installing the python:

Download Python

  • After that, install it on your PC by looking for the location where PYTHON has been installed on your PC by executing the following command on command prompt;
cmd python.
  • Visit advanced system settings and after that add a new variable and name it as PYTHON_NAME and paste the path that has been copied.
  • Search for the path variable -> select its value and then select ‘edit’.
  • Add a semicolon at the end of the value if it’s not present and then type %PYTHON_HOME%

19. What is the difference between Python Arrays and lists?

Consists of elements belonging to different data typesConsists of only those elements having the same data type
No need to import a module for list declarationNeed to explicitly import a module for array declaration
Can be nested to have different type of elementsMust have all nested elements of the same size
Recommended to use for shorter sequence of data itemsRecommended to use for longer sequence of data items
More flexible to allow easy modification (addition or deletion) of dataLess flexible since addition or deletion has to be done element-wise
Consumes large memory for the addition of elementsComparatively more compact in memory size while inserting elements
Can be printed entirely without using loopingA loop has to be defined to print or access the components
list = [1,”Hello”,[‘a’,’e’]]
import array
array_demo = array.array(‘i’, [1, 2, 3])
(array  as integer type)

20. Is python case sensitive?

Yes, Python is a case sensitive language. This means that Function and function both are different in pythons like SQL and Pascal.

21. What does [::-1] do?

[::-1] ,this is an example of slice notation and helps to reverse the sequence with the help of indexing.

[Start,stop,step count]

Let’s understand with an example of an array:

import array as arr
Array_d[::-1]          #reverse the array or sequence

Output: 5,4,3,2,1

22. What are Python packages?

A Python package refers to the collection of different sub-packages and modules based on the similarities of the function.

23.What are decorators in Python?

In Python, decorators are necessary functions that help add functionality to an existing function without changing the structure of the function at all. These are represented by @decorator_name in Python and are called in a bottom-up format.

Let’s have a look how it works:

def decorator_lowercase(function):   # defining python decorator
def wrapper():
func = function()
input_lowercase = func.lower()
return input_lowercase
return wrapper
@decorator_lowercase    ##calling decoractor
def intro():                        #Normal function
return 'Hello,I AM SAM'

Output: ‘hello,i am sam’

24. Is indentation required in Python?

Indentation in Python is compulsory and is part of its syntax.

All programming languages have some way of defining the scope and extent of the block of codes. In Python, it is indentation. Indentation provides better readability to the code, which is probably why Python has made it compulsory.

25. How does break, continue, and pass work?

These statements help to change the phase of execution from the normal flow that is why they are termed loop control statements.

Python break: This statement helps terminate the loop or the statement and pass the control to the next statement.

Python continue: This statement helps force the execution of the next iteration when a specific condition meets, instead of terminating it.

Python pass: This statement helps write the code syntactically and wants to skip the execution. It is also considered a null operation as nothing happens when you execute the pass statement.

26. How can you randomize the items of a list in place in Python?

This can be easily achieved by using the Shuffle() function from the random library as shown below:

from random import shuffle

List = ['He', 'Loves', 'To', 'Code', 'In', 'Python']

Output: [‘Loves’,’He’ ,’To ,’In’, ‘Python’,’Code’]

27. How to comment with multiple lines in Python?

To add a multiple lines comment in python, all the line should be prefixed by #.

28. What type of language is python? Programming or scripting?

Generally, Python is an all purpose Programming Language ,in addition to that Python is also Capable to perform scripting.

29. What are negative indexes and why are they used?

To access an element from ordered sequences, we simply use the index of the element, which is the position number of that particular element. The index usually starts from 0, i.e., the first element has index 0, the second has 1, and so on.

When we use the index to access elements from the end of a list, it’s called reverse indexing. In reverse indexing, the indexing of elements starts from the last element with the index number ‘−1’. The second last element has index ‘−2’, and so on. These indexes used in reverse indexing are called negative indexes.

30. Explain split(), sub(), subn() methods of “re” module in Python?

These methods belong to the Python RegEx or ‘re’ module and are used to modify strings.

  • split(): This method is used to split a given string into a list.
  • sub(): This method is used to find a substring where a regex pattern matches, and then it replaces the matched substring with a different string.
  • subn(): This method is similar to the sub() method, but it returns the new string, along with the number of replacements.

Python coding questions and Answers

31. What do you mean by Python literals?

Literals refer to the data which will be provided to a given in a variable or constant.

Literals supported by python are listed below:

String Literals

These literals are formed by enclosing text in the single or double quotes.

For Example:



Numeric Literals

Python numeric literals support three types of literals


Float: i=5.2


Boolean Literals

Boolean literals help to denote boolean values. It contains either True or False.


32. What is a map function in Python?

The map() function in Python has two parameters, function and iterable. The map() function takes a function as an argument and then applies that function to all the elements of an iterable, passed to it as another argument. It returns an object list of results.

For example:

def calculateSq(n):
return n*n
numbers = (2, 3, 4, 5)
result = map( calculateSq, numbers)

33. What are the generators in python?

Generator refers to the function that returns an iterable set of items.

34. What are python iterators?

These are the certain objects that are easily traversed and iterated when needed.

35. Do we need to declare variables with data types in Python?

No. Python is a dynamically typed language, I.E., Python Interpreter automatically identifies the data type of a variable based on the type of value assigned to the variable.

36. What are Dict and List comprehensions?

Python comprehensions are like decorators, that help to build altered and filtered lists, dictionaries, or sets from a given list, dictionary, or set. Comprehension saves a lot of time and code that might be considerably more complex and time-consuming.

Comprehensions are beneficial in the following scenarios:

  • Performing mathematical operations on the entire list
  • Performing conditional filtering operations on the entire list
  • Combining multiple lists into one
  • Flattening a multi-dimensional list

For example:

my_list = [2, 3, 5, 7, 11]
squared_list = [x**2 for x in my_list]    # list comprehension

# output => [4 , 9 , 25 , 49 , 121]

squared_dict = {x:x**2 for x in my_list}    # dict comprehension

# output => {11: 121, 2: 4 , 3: 9 , 5: 25 , 7: 49}

37. How do you write comments in python?

Python Comments are the statement used by the programmer to increase the readability of the code. With the help of #, you can define the single comment and the other way to do commenting is to use the docstrings(strings enclosed within triple quotes).
For example:

#Comments in Python 
print("Comments in Python ")

38. Is multiple inheritance supported in Python?


Yes, unlike Java, Python provides users with a wide range of support in terms of inheritance and its usage. Multiple inheritance refers to a scenario where a class is instantiated from more than one individual parent class. This provides a lot of functionality and advantages to users.

39. What is the difference between range & xrange?

Functions in Python, range() and xrange() are used to iterate in a for loop for a fixed number of times. Functionality-wise, both these functions are the same. The difference comes when talking about Python version support for these functions and their return values.

range() Methodxrange() Method
In Python 3, xrange() is not supported; instead, the range() function is used to iterate in for loopsThe xrange() function is used in Python 2 to iterate in for loops
It returns a listIt returns a generator object as it doesn’t really generate a static list at the run time
It takes more memory as it keeps the entire list of iterating numbers in memoryIt takes less memory as it keeps only one number at a time in memory

40. What is pickling and unpickling?

The Pickle module accepts the Python object and converts it into a string representation and stores it into a file by using the dump function. This process is called pickling. On the other hand, the process of retrieving the original Python objects from the string representation is called unpickling.

42. Is Python fully object oriented?

Python does follow an object-oriented programming paradigm and has all the basic OOPs concepts such as inheritance, polymorphism, and more, with the exception of access specifiers. Python doesn’t support strong encapsulation (adding a private keyword before data members). Although, it has a convention that can be used for data hiding, i.e., prefixing a data member with two underscores.

43. Differentiate between NumPy and SciPy?

NumPy stands for Numerical PythonSciPy stands for Scientific Python
It is used for efficient and general numeric computations on numerical data saved in arrays. E.g., sorting, indexing, reshaping, and moreThis module is a collection of tools in Python used to perform operations such as integration, differentiation, and more
There are some linear algebraic functions available in this module, but they are not full-fledgedFull-fledged algebraic functions are available in SciPy for algebraic computations

44. Explain all file processing modes supported in Python?

Python has various file processing modes.

For opening files, there are three modes:

  • read-only mode (r)
  • write-only mode (w)
  • read–write mode (rw)

For opening a text file using the above modes, we will have to append ‘t’ with them as follows:

  • read-only mode (rt)
  • write-only mode (wt)
  • read–write mode (rwt)

Similarly, a binary file can be opened by appending ‘b’ with them as follows:

  • read-only mode (rb)
  • write-only mode (wb)
  • read–write mode (rwb)

To append the content in the files, we can use the append mode (a):

  • For text files, the mode would be ‘at’
  • For binary files, it would be ‘ab’

45. What do file-related modules in Python do? Can you name some file-related modules in Python?

Python comes with some file-related modules that have functions to manipulate text files and binary files in a file system. These modules can be used to create text or binary files, update their content, copy, delete, and more.

Some file-related modules are os, os.path, and shutil.os. The os.path module has functions to

access the file system, while the shutil.os module can be used to copy or delete files.

46. Explain the use of the ‘with’ statement and its syntax?

In Python, using the ‘with’ statement, we can open a file and close it as soon as the block of code, where ‘with’ is used, exits. In this way, we can opt for not using the close() method.

with open("filename", "mode") as file_var:

47. Write a code to display the contents of a file in reverse?

To display the contents of a file in reverse, the following code can be used:

for line in reversed(list(open(filename.txt))):

48. Which of the following is an invalid statement?

  1. xyz = 1,000,000
  2. x y z = 1000 2000 3000
  3. x,y,z = 1000, 2000, 3000
  4. x_y_z = 1,000,000

Ans. 2 statement is invalid.

49. Write a command to open the file c:\hello.txt for writing?


f= open(“hello.txt”, “wt”)

50. What does len() do?

len() is an inbuilt function used to calculate the length of sequences like list, python string, and array.

my _list=[1,2,3,4,5] len(my_list)

Python interview questions and Answers for freshers

Python Most Ask Interview Question
PYTHON Interview Question


Leave a Comment