Python programming is the most sought-after skill in the current job market. As more and more companies are adapting data science, machine learning & AI, Big Data, Blockchain, IoT, Robotics, full-stack web development, and cloud computing technologies to develop their products & services, demand for certified and skilled Python professionals is increasing.

Python Fundamentals Interview Questions

Below is a quick summary of current jobs and salaries paid for a professional with Python programming knowledge and skills.

Python current jobs

Job Titles with Python Skill & Salaries India(INR) USA(USD)
Software Engineer 6,00,000 89,000
Data Scientist 8,03,000 98,000
Senior Software Engineer 11,00,000 122,000
Sr. Developer / Programmer 9,71,000 113,000
Data Analyst 5,02,000 65,000

(Source: Indeed, Naukri, Payscale)

Now, I will help you with some of the most frequently asked questions in Python interviews on foundational concepts.  This can be a one-stop resource to start your interview preparation.

These questions cover most of the fundamentals and intermediate Python theory concepts. They even come in handy for a telephonic interview. Not only the job aspirants but also the recruiters can refer to this article, to evaluate a candidate in the pre-screening round.

Please let me know in the comment section if you would like us to share Python Programming/coding (expert-level) Questions, which can help you to crack coding round during job interviews.

Let’s get going!

Basic Python Programming Related Questions

1) Why is Python called an interpreted language?

Ans: Python program runs directly from the source code. It converts the source code that is written by the programmer into an intermediate language, which is again translated into machine language that has to be executed.

2) What does PEP8 refer to?

Ans: PEP8 is a coding convention which is a set of recommendations of how to make the Python code more readable.

3) What is the procedure to install Python on Windows and set path variable?

Ans: We need to implement the following steps to install Python on Windows:

  • First, you need to install Python from
  • After installing Python on your PC, find the place where it is located in your PC using the cmd python command.
  • Then visit advanced system settings on your PC and add a new variable. Name the new variable as PYTHON_NAME then copy the path and paste it.
  • Search for the path variable and select one of the values for it and click on ‘edit’.
  • Finally, we need to add a semicolon at the end of the value and if the semicolon is not present then type %PYTHON_NAME%.

4) What makes Python language object-oriented?

Ans: Python is object-oriented because it follows the Object-Oriented programming paradigm. This is a paradigm that revolves around classes and their instances (objects). With this kind of programming, we have the following features:

  • Encapsulation
  • Abstraction
  • Inheritance
  • Polymorphism
  • Data hiding

5) What are the built-in data type does Python provide?

Ans: There are mutable and immutable built-in types:

Mutable are:

  • List
  • Sets
  • Dictionaries

Immutable are:

  • Strings
  • Tuples
  • Numbers

6) Is a string immutable or mutable in Python?

Ans: Python strings are indeed immutable. Let’s take an example. We have an “str” variable holding the string value. We can’t mutate the container, i.e., the string, but can modify what it contains which means the value of the variable.

7) How many basic types of functions are available in Python?

Ans: Python gives us two basic types of functions.

  1. Built-in – few examples are print(), dir(), len(), and abs()
  2. User-defined

8) What is lambda in Python?

Ans: Lambda is a single expression anonymous function often used as an inline function. Lambda function can have any number of arguments but only one statement.

9) What are the principal differences between the Lambda and Def?

Ans: Lambda vs. Def.

  • Def can hold multiple expressions while lambda is a uni-expression function.
  • Def generates a function and designates a name to call it later. Lambda forms a function object and returns it.
  • Def can have a return statement. Lambda can’t have return statements.
  • Lambda supports a list and dictionary.

10) Is there a switch statement in Python?

Ans: No, Python does not have a switch statement, but you can write a switch function and then use it.

11) What are Python iterators?

Ans: Iterators in Python are array-like objects which allow moving on the next element. We use them in traversing a loop, for example, in a “for” loop. Python library has a no. of iterators. For example, a list is also an iterator and we can start a for loop over it.

12) Return multiple values from functions

def a():
return 4, 5, 6, 7
p, q, r, s = a()
print(p, q, r, s)

Ans: Output: 4, 5, 6, 7

13) How to assign values for the class attributes at runtime?

Ans: We need to add an init method and pass input to the object constructor.

14) How are data types defined in Python and how much bytes do integer and decimal data types hold?

Answer: In Python, there is no need to define a variable’s data type explicitly.

Based on the value assigned to a variable, Python stores the appropriate data type. In the case of numbers such as Integer, Float, etc, the length of data is unlimited.

15) Find the most frequent value in a list

test = [1, 2, 3, 9, 2, 7, 3, 5, 9, 9, 9]
print(max(set(test), key = test.count))

Ans: Output: 9

16) Can Python be used for web client and web server side programming? And which one is best suited to Python?

Answer: Python is best suited for web server-side application development due to its vast set of features for creating business logic, database interactions, web server hosting, etc.

However, Python can be used as a web client-side application that needs some conversions for a browser to interpret the client-side logic. Also, note that Python can be used to create desktop applications that can run as a standalone application such as utilities for test automation.

17) What is Class in Python?

Ans: Python supports object-oriented programming and provides almost all OOP features to use in programs. A Python class is a blueprint for creating objects. It defines member variables and gets their behavior associated with them. We can make it by using the keyword “class.” An object gets created from the constructor. This object represents the instance of the class.

18) How to create a class in Python?

Ans: In Python programming, the class is created using a class keyword. The syntax for creating a class is as follows:

Ans: class ClassName:
#code (statement-suite)

19) What is unittest in Python?

Ans: A unit testing framework in Python is known as unittest. It supports sharing of setups, automation testing, shutdown code for tests, aggregation of tests into collections etc.

20) What are the optional statements possible inside a try-except block in Python?

Ans: There are two optional clauses you can use in the try-except block.

  • The “else” clause – It is useful if you want to run a piece of code when the try block doesn’t create an exception.
  • The “finally” clause – It is useful when you want to execute some steps which run, irrespective of whether there occurs an exception or not.

21) Is indentation optional in Python?

Ans: 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.

22) Create a single string from all the elements in the list

x = [“Python”, “Online”, “Training”]
print(” “.join(x))

Ans: Output: Python Online Training

23) What are the errors and exceptions in Python programming?

Ans: Errors are coding issues in a program which may cause it to exit abnormally. On the contrary, exceptions happen due to the occurrence of an external event which interrupts the normal flow of the program.

24) How you can convert a number to a string?

Ans: In order to convert a number into a string, use the inbuilt function str().

25) What Is “Call By Reference” In Python?

Ans: We use both “call-by-reference” and “pass-by-reference” interchangeably. When we pass an argument by reference, then it is available as an implicit reference to the function, rather than a simple copy. In such a case, any modification to the argument will also be visible to the caller. This scheme also has the advantage of bringing more time and space efficiency because it leaves the need for creating local copies. On the contrary, the disadvantage could be that a variable can get changed accidentally during a function call. Hence, the programmers need to handle in the code to avoid such uncertainty.

26) Is python case sensitive?

Ans: Yes. Python is a case sensitive language.

27) Explain Inheritance in Python with an example.

Ans: 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 and the class that inherits the superclass is called a derived or child class. 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

28) What is polymorphism in Python?

Ans: By using polymorphism in Python we will understand how to perform a single task in different ways. For example, designing a shape is the task and various possible ways in shapes are a triangle, rectangle, circle, and so on.

29)  What is data abstraction in Python?

Ans: In simple words, abstraction can be defined as hiding of unnecessary data and showing or executing necessary data. In technical terms, abstraction can be defined as hiding internal processes and showing only the functionality. In Python abstraction can be achieved using encapsulation.

30) Define encapsulation in Python?

Ans: Encapsulation is one of the most important aspects of object-oriented programming. Binding or wrapping of code and data together into a single cell is called encapsulation. Encapsulation in Python is mainly used to restrict access to methods and variables.

31) What are generators in Python?

Ans: The way of implementing iterators are known as generators. It is a normal function except that it yields expression in the function.

32) What is module and package in Python?

Ans: In Python, a module is the way to structure the program. Each Python program file is a module, which imports other modules like objects and attributes.

The folder of Python program is a package of modules. A package can have modules or subfolders.

33) What is __init__ in Python?

Ans: 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.

34) How do you delete a file in Python?

Ans: By using a command os.remove (filename) or os.unlink (filename)

35) Mention five benefits of using Python?

Ans: Five benefits are:

  • Python comprises of a huge standard library comprising of modules, functions, packages, toolkits, frameworks, and third-party modules which can ease your programming.
  • Python does not require explicit memory management as the interpreter itself allocates the memory to new variables and free them automatically.
  • Easy readability due to use of square brackets. No braces.
  • Easy-to-learn for beginners due to its English like syntax code.
  • Having built-in data types saves programming time and effort from declaring variables.

36) Do we need to declare variables with data types in Python?

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

37) How will you reverse a list in Python?

Ans: The function list.reverse () reverses the objects of a list.

38) 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.

39)Write a command to convert a string into an int in python.

Answer:int(x [,base])

40) What are the differences between Python arrays and lists?

Ans: In Python, when we say ‘arrays’, we are usually referring to ‘lists’. It is because lists are fundamental to Python just as arrays are fundamental to most of the low-level languages.

Arrays Lists
Arrays can only store homogeneous data (data of the same type). Lists can store heterogeneous and arbitrary data.
Since only one type of data can be stored, arrays use memory for only one type of object. Thus, mostly, arrays use lesser memory than lists. Lists can store data of multiple data types and thus require more memory than arrays.
The length of an array is pre-fixed while creating it, so more elements cannot be added. Since the length of a list is not fixed, appending items to it is possible.


41) Does the same Python code work on multiple platforms without any changes?

Answer: Yes. As long as you have the Python environment on your target platform (Linux, Windows, Mac), you can run the same code.

42) What does the Join method do in Python?

Ans: Python provides the join() method which works on strings, lists, and tuples. It combines them and returns a united value.

43) What is the best way to parse strings and find patterns in Python?

Answer: Python has built-in support to parse strings using the Regular expression module. Import the module and use the functions to find a substring, replace a part of a string, etc.

44) Will the do-while loop work if you don’t end it with a semicolon?

Ans: Python does not support an intrinsic do-while loop. Secondly, to terminate do-while loops is a necessity for languages like C++.

45) What is docstring in Python?

Ans: Python lets users include a description (or quick notes) for their methods using documentation strings or docstrings. Docstrings are different from regular comments in Python as, rather than being completely ignored by the Python Interpreter like in the case of comments, Python documentation strings can actually be accessed at the run time using the dot operator when docstring is the first statement in a method or function.

46) What are the different file processing modes supported by Python?

Ans: Python provides four modes to open files. The read-only, write-only, read-write and append mode. ‘r’ is used to open a file in read-only mode, ‘w’ is used to open a file in write-only mode, ‘rw’ is used to open in reading and write mode, ‘a’ is used to open a file in append mode. If the mode is not specified, by default file opens in read-only mode.

  • Read-only mode: Open a file for reading. It is the default mode.
  • Write-only mode: Open a file for writing. If the file contains data, data would be lost. Otherwise, a new file is created.
  • Read-Write mode: Open a file for reading, write mode. It means updating mode.
  • Append mode: Open for writing, append to the end of the file, if the file exists.

47) What is the difference between append() and extend() methods?

Ans: Both append() and extend() methods are methods used to add elements at the end of a list.

  • append(element): Adds the given element at the end of the list that called this append() method
  • extend(another-list): Adds the elements of another list at the end of the list that called this extend() method

 48) How is Python thread-safe?

Ans: Python ensures safe access to threads. It uses the GIL mutex to set synchronization. If a thread loses the GIL lock at any time, then you have to make the code thread-safe.

For example, many of the Python operations execute as atomic such as calling the sort() method on a list.

49) How can you copy an object in Python?

Ans: To copy an object in Python, you can try copy.copy () or copy.deepcopy() for the general case. You cannot copy all objects but most of them.

50) What are split(), sub(), and subn() methods in Python?

Ans: These methods belong to Python RegEx ‘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.

51) What is the purpose of PYTHONPATH environment variable?

Ans: 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 Python source library directory and the directories containing Python source code. PYTHONPATH is sometimes preset by Python Installer.

52) Is it mandatory for a Python function to return a value?

Ans: It is not at all necessary for a function to return any value. However, if needed, we can use None as a return value.

53) Name some of the important modules that are available in Python.

Answer: Networking, Mathematics, Cryptographic services, Internet data handling, and Multi-threading modules are prominent modules.

54) What is self-keyword in Python?

Ans: Self-keyword is used as the first parameter of a function inside a class that represents the instance of the class. The object or the instance of the class is automatically passed to the method that it belongs to and is received in the ‘self-keyword.’ Users can use another name for the first parameter of the function that catches the object of the class, but it is recommended to use ‘self-keyword’ as it is more of a Python convention.

55) Do we need to call the explicit methods to destroy the memory allocated in Python?

Answer: Garbage collection is an in-built feature in Python which takes care of allocating and de-allocating memory. This is very similar to the feature in Java.

Hence, there are very fewer chances of memory leaks in your application code.

56) In Python what are iterators?

Ans: In Python, iterators are used to iterate a group of elements, containers like a list.

57) What are Dict and List comprehensions in Python?

Ans: These are mostly used as syntax constructions to ease the creation of list and dictionaries based on existing iterable.

58) Explain how can you access a module written in Python from C?

Ans: You can access a module written in Python from C by the following method,

Module = =PyImport_ImportModule(“<modulename>”);

59) What Does The *Args Do In Python?

Ans: We use *args as a parameter in the function header. It gives us the ability to pass N (variable) number of arguments.

Please note that this type of argument syntax doesn’t allow passing a named argument to the function.

60) How do we convert the string to lowercase?

Ans: lower() function is used to convert string to lowercase.


str = ‘XYZ’
Output: xyz

61) What are membership operators?

Ans: With the operators ‘in’ and ‘not in’, we can confirm if a value is a member in another.

62) Explain logical operators in Python.

Ans: We have three logical operators- and, or, not.

63) What is recursion?

Ans: When a function makes a call to itself, it is termed recursion. But then, in order for it to avoid forming an infinite loop, we must have a base condition.

64)  What are control flow statements in Python?

Ans: Control flow statements are used to manipulate or change the execution flow of a program. Generally, the flow of the execution of a program runs from top to bottom, but certain statements (control flow statements) in Python can break this top-to-bottom order of execution. Control flow statements include decision-making, looping, and more.

65) Compare between Java and Python.


Criteria Java Python
Ease of use Good Excellent
Speed of coding Average Excellent
Data types Statically typed Dynamically typed
Data Science and Machine Learning applications Average Excellent


66) What is the difference between ‘match’ and ‘search’ in Python?

Answer: Match checks for the match at the beginning of the string whereas search checks for the match anywhere in the string

67) Can you explain the life cycle of a thread?

  • To create a thread, we create a class that we make override the run method of the Thread class. Then, we instantiate it.
  • A thread that we just created is in the new state. When we make a call to start() on it, it forwards the threads for scheduling. These are in the ready state.
  • When execution begins, the thread is in the running state.
  • Calls to methods like sleep() and join() make a thread wait. Such a thread is in the waiting/blocked state.
  • When a thread is done waiting or executing, other waiting threads are sent for scheduling.
  • A running thread that is done executing terminates and is in the dead state.

 68) Does Python have a Main() method?

Ans: The main() is the entry point function which happens to be called first in most programming languages. Since Python is interpreter-based, so it sequentially executes the lines of the code one-by-one. Python also does have a Main() method. But it gets executed whenever we run our Python script either by directly clicking it or starts it from the command line. We can also override the Python default main() function using the Python if statement. Please see the below code.

69) What is range () in Python? Give an example to explain it.

Answer: It is a function to iterate over a sequence of numbers.


for var in list(range (10))

Print (var)

70) Can we make multiline comments in Python?

Ans: Python does not have a specific syntax for including multi-line comments like other programming languages. However, programmers can use triple-quoted strings (docstrings) for making multiline comments as to when a docstring is not used as the first statement inside a method, it gets ignored by Python parser.

71) In-place swapping of two numbers

p, q = 20, 40
print(p, q)
p, q = q, p
print(p, q)

20 40
40 20

72) What is the best Python IDE for beginners?

Ans: There are many IDE’s to execute Python code. But, as a beginner, the following two IDE’s will be helpful

  • PyCharm
  • Spyder

73) What are loop interruption statements in Python?

Ans: There are two types of loop interruption statements in Python that let users terminate a loop iteration prematurely, i.e., not letting the loop run its full iterations.

Following are the two types of loop interruption statements:

  • Python break statement: This statement immediately terminates the loop entirely, and the control flow of the program is shifted directly to the outside of the loop.
  • Python continue statement: Continue statement terminates the current loop iteration and moves the control flow of the program to the next iteration of the loop, letting the user skip only the current iteration.

74) What is the difference between an iterator and iterable?

Ans: The collection type like a list, tuple, dictionary, and set are all iterable objects whereas they are also iterable containers that return an iterator while traversing.

75) What is the difference between Pass and Continue in Python?

Ans: The continue statement makes the loop to resume from the next iteration.

On the contrary, the pass statement instructs to do nothing, and the remainder of the code executes as usual.

76) Name some industry applications using Python

Ans: The following are some of the things that you can perform using Python:

  • Automate tasks
  • Play games
  • Build a Blockchain to mine Bitcoins
  • Build a chatbot interface combined with AI

77) What is a tuple in Python?

Ans: A tuple is a collection type data structure in Python which is immutable. They are similar to sequences, just like the lists. However, there are some differences between a tuple and list; the former doesn’t allow modifications whereas the list does. Also, the tuples use parentheses for enclosing, but the lists have square brackets in their syntax.

78) What is the principal difference between a list and the tuple?

Ans: The principal difference between a list and the tuple is that the former is mutable while the tuple is not. A tuple is allowed to be hashed, for example, using it as a key for dictionaries.

79) What is the difference between a shallow copy and a deep copy?

Answer: Shallow copy is used when a new instance type gets created and it keeps values that are copied whereas deep copy stores values that are already copied. A shallow copy has faster program execution whereas deep coy makes it slow.

80) What is ‘with’ statement in Python?

Ans: The ‘with’ statement in Python ensures that cleanup code is executed when working with unmanaged resources by encapsulating common preparation and cleanup tasks.

81) Explain the use of the ‘with’ statement and its syntax.

Ans: 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:

82) How do we execute Python?

Ans: Python files first compile to bytecode. Then, the host executes them.

83) How to find bugs or perform static analysis in a Python application?


  • You can use PyChecker, which is a static analyzer. It identifies the bugs in the Python project and also reveals the style and complexity of related bugs.
  • Another tool is Pylint, which checks whether the Python module satisfies the coding standard.

84) Name some of the built-in modules in Python?

Ans: The built-in modules in Python are:

  • sys module
  • OS module
  • random module
  • collection module
  • JSON
  • Math module

85) What is the use of the dictionary in Python?

Ans: A dictionary has a group of objects (the keys) map to another group of objects (the values). A Python dictionary represents a mapping of unique Keys to Values. They are mutable and hence will not change. The values associated with the keys can be of any Python types.

86) What does the Chr() function do in Python?

Ans: The chr() function got re-added in Python 3.2. In version 3.0, it got removed.

It returns the string denoting a character whose Unicode code point is an integer.

For example, the chr(122) returns the string ‘z’ whereas the chr(1212) returns the string ‘Ҽ’.

87) What do you understand by Tkinter?

Ans: Tkinter is an in-built Python module that is used to create GUI applications. It is Python’s standard toolkit for GUI development. Tkinter comes with Python, so there is no installation needed. We can start using it by importing it in our script.

88) What are Decorators in Python?

Ans: Python decorator gives us the ability to add new behavior to the given objects dynamically. In the example below, we’ve written a simple example to display a message pre and post the execution of a function.

89) What is namespace in Python?

Ans: In Python, every name introduced has a place where it lives and can be hooked for. This is known as a namespace. It is like a box where a variable name is mapped to the object placed. Whenever the variable is searched out, this box will be searched, to get the corresponding object.

90) Explain how can you make a Python script executable on Unix?

Ans: To make a Python Script executable on Unix, you need to do two things,

  • Script file’s mode must be executable and
  • the first line must begin with # ( #!/usr/local/bin/python)

91) Is Python fully object-oriented?

Ans: 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.

92) What is a negative index in Python?

Python sequences can be index in positive and negative numbers. For positive index, 0 is the first index, 1 is the second index and so forth. For negative index, (-1) is the last index and (-2) is the second last index and so forth.

93) Write the command to get all keys from the dictionary.

Answer: print dict.keys()

94) How do you use the Split() function in Python?

Ans: Python’s split() function works on strings to cut a large piece into smaller chunks, or sub-strings. We can specify a separator to start splitting, or it uses the space as one by default.

95) What are the key features of Python?


  • Python is an interpreted language, so it doesn’t need to be compiled before execution, unlike languages such as C.
  • Python is dynamically typed, so there is no need to declare a variable with the data type. Python Interpreter will identify the data type on the basis of the value of the variable.
  • Python follows an object-oriented programming paradigm with the exception of having access specifiers. Other than access specifiers (public and private keywords), Python has classes, inheritance, and all other usual OOPs concepts.
  • Python is a cross-platform language, i.e., a Python program written on a Windows system will also run on a Linux system with little or no modifications at all.
  • Python is literally a general-purpose language, i.e., Python finds its way in various domains such as web application development, automation, Data Science, Machine Learning, and more.

96) How do you implement JSON given that Python is best suited for the server-side application?

Answer: Python has built-in support to handle JSON objects. You just have to import the JSON module and use the functions such as loads and dumps to convert from JSON string to JSON object and vice versa. It is a straightforward way to handle and exchange JSON based data from the server-side.

97) Mention what are the rules for local and global variables in Python?


  • Local variables: If a variable is assigned a new value anywhere within the function’s body, it’s assumed to be local.
  • Global variables: Those variables that are only referenced inside a function are implicitly global.

98) How to save an image locally using Python in which we already know the URL address?

Ans: The following code is used to save the image locally from the URL address which we know.

import urllib.request
urllib.request.urlretrieve(“URL”, “local-filename.jpg”)

99) How Python does compile-time and run-time code checking?

Ans: In Python, some amount of coding is done at compile-time, but most of the checking such as type, name, etc. are postponed until code execution. Consequently, if the Python code references a user-defined function that does not exist, the code will compile successfully. The Python code will fail only with an exception when the code execution path does not exist.

100) What is a function in Python programming?


  • A function is an object which represents a block of code and is a reusable entity. It brings modularity to a program and a higher degree of code reusability.
  • Python has given us many built-in functions such as print() and provides the ability to create user-defined functions.

101) Define constructor in Python?

Ans: Constructor is a special type of method with a block of code to initialize the state of instance members of the class. A constructor is called only when the instance of the object is created. It is also used to verify that they are sufficient resources for objects to perform a specific task.

There are two types of constructors in Python, and they are:

  • Parameterized constructor
  • Non-parameterized constructor

 102) What are Closures in Python?

Ans: Python closures are function objects returned by another function. We use them to eliminate code redundancy.

103) What Is Whitespace In Python?

Ans: Whitespace represents the characters that we use for spacing and separation. They possess an “empty” representation. In Python, it could be a tab or space.

104) How to overload constructors or methods in Python?

Ans: Python’s constructor: _init__ () is the first method of a class. Whenever we try to instantiate an object __init__() is automatically invoked by python to initialize members of an object. We can’t overload constructors or methods in Python. It shows an error if we try to overload.

105) What are the advantages of Python?


  • Interpreted: Python is an interpreted language. It does not require a prior compilation of code and executes instructions directly.
  • Free and open-source: It is an open-source project which is publicly available to reuse. It can be downloaded free of cost.
  • Portable: Python programs can run on cross platforms without affecting its performance.
  • Extensible: It is very flexible and extensible with any module.
  • Object-oriented: Python allows to implement the Object-Oriented concepts to build application solution.
  • Built-in data structure: Tuple, List, and Dictionary are useful integrated data structures provided by the language.

106) What is Composition in Python?

Ans: The composition is also a type of inheritance in Python. It intends to inherit from the base class but a little differently, i.e., by using an instance variable of the base class acting as a member of the derived class.

107) Is Python list a Linked List?

Ans: A Python list is a variable-length array which is different from C-style linked lists. Internally, it has a contiguous array for referencing to other objects and stores a pointer to the array variable and its length in the list head structure.

108) What is a boolean in Python?

Ans: Boolean is one of the built-in data types in Python, it mainly contains two values, and they are true and false.

Python bool() is the method used to convert a value to a boolean value.

1 Syntax for bool() method: bool([a])

109) What are the differences between Python 2.x and Python 3.x?


  • Python 2.x is an older version of Python. Python 3.x is newer and latest version.
  • Python 2.x is a legacy now. Python 3.x is the present and future of this language.
  • The most visible difference between Python2 and Python3 is in print statement (function). In Python 2, it looks like print “Hello”, and in Python 3, it is print (“Hello”).
  • String in Python2 is ASCII implicitly, and in Python3 it is Unicode.
  • The xrange() method has removed from Python 3 version. A new keyword as is introduced in Error handling.

110) What are the disadvantages of Python?


  • design restrictions
  • slow when compared to C/C++/Java as it is an interpreted language
  • weak in mobile computing
  • underdeveloped database access layers
  • being dynamically-typed, Python uses duck-typing. This can raise runtime errors.

 111) What is “Call By Value” in Python?

Ans: In call-by-value, the argument whether expression or a value gets bound to the respective variable in the function.

Python will treat that variable as local in the function-level scope. Any changes made to that variable will remain local and will not reflect outside the function.

112) Does Python make use of access specifiers?

Ans: Python does not make use of access specifiers and also it does not provide a way to access an instance variable. Python introduced a concept of prefixing the name of the method, function, or variable by using a double or single underscore to act like the behaviour of private and protected access specifiers.

113) What is pickling and unpickling in Python?

Ans: The Python pickle is defined as a module that accepts any Python object and converts it into a string representation. It dumps the Python object into a file using the dump function; this process is called Pickling.

The process of retrieving the original Python objects from the stored string representation is called as Unpickling.

114) Explain the difference between local and global namespaces?

Ans: Local namespaces are created within a function when that function is called. Global namespaces are created when the program starts.

115) What is a Function Call or a Callable Object in Python?

Ans: A function in Python gets treated as a callable object. It can allow some arguments and also return a value or multiple values in the form of a tuple. Apart from the function, Python has other constructs, such as classes or the class instances which fit in the same category.

116) What should be the typical build environment for Python-based application development?

Answer: You just need to install Python software and using PIP, you can install various Python modules from the open-source community. For IDE, Pycharm is highly recommended for any kind of application development with vast support for plugins. Another basic IDE is called a RIDE and is a part of the Python open-source community.

117) What do file-related modules in Python do? Can you name some file-related modules in Python?

Ans: 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.

118) What happens when a function doesn’t have a return statement? Is this valid?

Ans: Yes, this is valid. The function will then return a None object. The end of a function is defined by the block of code is executed (i.e., the indenting) not by any explicit keyword.

119) What are the different types of operators in Python?

Ans: Python uses a rich set of operators to perform a variety of operations. Some individual operators like membership and identity operators are not so familiar but allow performing operations.

  • Arithmetic Operators
  • Relational Operators
  • Assignment Operators
  • Logical Operators
  • Membership Operators
  • Identity Operators
  • Bitwise Operators

120) How do you add elements to a Dictionary in Python?

Ans: We can add elements by modifying the dictionary with a fresh key and then set the value to it. 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.

121) What is PIP software in the Python world?

Answer: PIP is an acronym for Python Installer Package which provides a seamless interface to install various Python modules. It is a command-line tool that can search for packages over the internet and install them without any user interaction.

122) What is the difference between .py and .pyc files?

Ans: .py files are Python source files. .pyc files are the compiled bytecode files that are generated by the Python compiler

123) Mention at least 3-4 benefits of using Python over the other scripting languages such as JavaScript.

Answer: Enlisted below are some of the benefits of using Python.

  1. Application development is faster and easy.
  2. Extensive support of modules for any kind of application development including data analytics/machine learning/math-intensive applications.
  3. An excellent support community to get your answers.

124) Explain the procedure to minimize or lower the outages of memcached server in your Python development?

Ans: The following are the steps used to minimize the outages of the Memcached server in your Python development, and they are.

  • When a single instance fails, this will impact on larger load of the database server. The client makes the request when the data is reloaded. In order to avoid this, the code that you have written must be used to lower cache stampedes then it will leave a minimal impact.
  • The other way is to bring out the instance of the memcached on a new machine by using the IP address of the lost machine.
  • Another important option is to lower the server outages is code. This code provides you the liberty to modify the memcached server list with minimal work

125) How can we debug a Python program?

Ans:  By using the following command we can debug the Python program

1 $ python -m pdb

126) How to create a Unicode string in Python?

Ans: In Python 3, the old Unicode type has replaced by “str” type, and the string is treated as Unicode by default. We can make a string in Unicode by using art.title.encode(“utf-8”) function.

127) What are the web development frameworks you know?

  1. Django (web framework of Python).
  2. Micro Framework such as Flask and Bottle.
  3. Plone and Django CMS for advanced content Management.

 128) Mention what is the difference between Django, Pyramid, and Flask?

Flask is a “microframework” primarily build for a small application with simpler requirements. In flask, you have to use external libraries. Flask is ready to use.

A pyramid is built for larger applications. It provides flexibility and lets the developer use the right tools for their project. The developer can choose the database, URL structure, templating style and more. Pyramid is heavy configurable.

Like Pyramid, Django is used in larger applications. It includes an ORM.

129) Can you name some data science or machine learning libraries?


Python libraries for statistical analysis: NumPy, SciPy, Pandas, StatsModels

Python libraries for data visualization: Matplotlib, Seaborn, Plotly, Bokeh

Python libraries for Machine Learning: Scikit-learn, XGBoost, Eli5

Python libraries for Deep Learning: TensorFlow, Pytorch, Keras

Python libraries for Natural Language Processing: NLTK, SpaCy, Gensim

130) How to remove values from a python array?

Ans: Array elements can be removed using pop() or remove() method. The difference between these two functions is that the former returns the deleted value whereas the latter does not.

Open-ended Python Interview Questions

131) Why do you want to work for this company?

132) Where do you see yourself in 10 years?

133) What will you bring to the table if we hire you?

134) Tell me about your best personal project. What challenges did you face, and how did it change the way you work?

135) Would you have a problem with menial tasks?

136) What makes you like Python over other languages?

Ending Note

Hope this ‘Python Interview Questions article’ helped you to understand the nature of popular interview questions.

But apart from theoretical knowledge, you must possess very strong logical and analytical skills to write Python programs/codes during the interview.

If you feel you have to bridge your knowledge and skills gaps through a training program, we are here to help you!

Visit our website to learn how Python courses are offered at various levels and what are the topics covered in these courses. I assure you, hands-on practical experience gained through our training is worth the investment.

Good luck!

Pin It on Pinterest



You are a step closer to a fascinating journey.

Processing your request
This will take a few seconds. Kindly wait.