Top 55 PHP Interview Questions and Answers

Python is one of today’s most common and sought-after programming languages. This object-oriented language is used by major corporations around the world to create programs and applications. You’ll find some of the most commonly asked questions incorporated for Python Interview questions for freshers and Python interview questions for experienced people too. Our Python interview questions will assist you in preparing for your interview.

  1. Tell me what you know about Python?

Python is a scripting language that is high-level, interpreted, interactive, and object-oriented. Python is meant to be a quite readable language. It often uses English keywords instead of punctuation, and it has fewer syntactic constructions than the other languages.

  1. Why is Python an interpreted language?

Any programming language that is not in machine-level code until runtime is considered an interpreted language. Python is therefore an interpreted language.

  1. What do you mean by PEP8?

PEP is an acronym for Python Enhancement Proposal. It’s a set of guidelines for formatting Python code for optimal readability.

  1. Tell me about Python Memory Management.

In Python, memory is handled in the following ways:

  • Python’s private heap space is in charge of memory management. A private heap holds all Python objects and data structures. This private heap is not open to the programmer. Instead, the python interpreter takes care of it.

  • Python’s memory manager is in charge of allocating heap space for Python objects. The core API allows programmers access to certain programming resources.

  • Python also has a garbage collector built-in, which recycles all unused memory and makes it accessible to the heap space.

  1. What do you mean by PYTHONPATH?

It’s an environment variable that’s used when you import a module. When a module is imported, PYTHONPATH is tested to see if the imported modules are present in different folders. It is used by the interpreter to evaluate which module to load. Most of the packages are installed via “pip”.

  1. What do you mean by namespace in Python?

To prevent naming disputes, a namespace is a naming scheme that guarantees that names are unique.

  1. What are python modules, and how do you use them? What are some of the most widely used Python built-in modules?

Python modules are executable files that contain Python code. Functions, classes, or variables may be used in this code. A Python module is file that contains code that can be executed.

The following are some of the most widely used built-in modules:

  • os

  • sys

  • math

  • random

  • data time

  • JSON

  1. Explain the key features of Python?

  • Python is an interpreted language, which means it does not require compilation before use, unlike languages like C.

  • Since Python is dynamically typed, declaring a variable with the data type is unnecessary. The Python Interpreter can determine the data type based on the variable’s meaning.

  • Except for access specifiers, Python is an object-oriented programming language. Aside from access specifiers (public and private keywords), Python supports classes, inheritance, and all of the other standard OOP concepts.

  • Python is a cross-platform language, which means that a Python program written on a Windows system can run with little to no changes on a Linux system.

  • Python is a general-purpose programming language, which means it can be used in a variety of fields such as web application creation, automation, data science, machine learning, and more.

  1. What do the environment variables PYTHONSTARTUP, PYTHONCASEOK, and PYTHONHOME do?

  • PYTHONSTARTUP: It specifies the location of a Python source code initialization file. It is run every time the interpreter is started. In Unix, it’s, and it includes commands for loading utilities and changing PYTHONPATH.

  • PYTHONCASEOK: This command tells Python to look for the first case-insensitive match in an import expression in Windows. To trigger this variable, we can give it any value.

  • PYTHONHOME: This is a different way to find modules. It is normally included in the PYTHONSTARTUP or PYTHONPATH directories to facilitate module library switching.

  1. What are the data types that are supported in Python?

There are five standard data types in Python:

  • Numbers

  • Strings

  • Lists

  • Tuples

  • Dictionaries

  1. Explain Dictionary in Python.

In Python, one of the supported data types is the dictionary. It’s a jumble of elements grouped in no particular order. In dictionaries, the elements are stored as key–value pairs. Keys are used to index dictionaries.

A dictionary called dict, for example, is shown below. It has two buttons, State and Capital, as well as the ideals that go with them, Tamil Nadu and Chennai.

dict={‘State’ : ’Tamil Nadu’ , ‘Capital’ : ‘Chennai’}

  1. How to reverse a list in Python?

The reverse() function reverses the order of the objects in a sequence.

  1. Explain Inheritance in Python and its types.

Since Python is an object-oriented programming language, classes in Python may inherit properties from other classes. Inheritance is the term for this process. The function of code reusability is given by inheritance. A superclass is a class that is being inherited, and a derived or child class is the class that inherits the superclass.

Python facilitates the following types of inheritance:

  • Single: If a class inherits only one superclass, it is known as single inheritance.

  • Multiple: When a class inherits from multiple superclasses, this is known as multiple inheritances.

  • Multilevel: A ‘parent, kid, and grandchild’ class structure is formed when a class inherits a superclass and then another class inherits this derived class.

  • Hierarchical: When a superclass is inherited by several derived classes, it is known as hierarchical inheritance.

  1. Explain Local and Global variables in Python?

Global Variables: Global variables are variables declared outside of a function or in global space. Any feature in the software can access these variables.

Local Variables: A local variable is any variable declared within a function. This variable occurs only in local space, not in the global space.

  1. Why is Indentation required for python?

Indentation is needed in Python. Because it designates a code block. An indented block contains all of the code for loops, classes, functions, and so on. The most common method is to use four space characters. Your code will not execute correctly if it is not indented, and it will also throw errors.

  1. Explain Functions in python.

A function is a code block that is only executed when it is called. The def keyword is used to define a Python function.

Example program:

def NewFunc();

print(“Hi, How are you?”)

NewFunc(); #calling the function

Output: Hi, How are you?

  1. Explain lambda function.

It is a single expression anonymous function that is commonly used as an inline function. It’s used to build and return new function objects at runtime.

In Python, a lambda function is an anonymous function that can take any number of arguments and have any number of parameters. The lambda function, on the other hand, can only have one expression or argument.

For better understanding:

This function def identity(x): is same as lambda x: x

return x

It’s typically used in circumstances where an anonymous role is required for a short period. Lambda functions can be used in two separate ways:

An example program to demonstrate lambda function,

a=lambda p,q:p+q


Output = 10

  1. What is Pickling and unPickling in python?

(Any Python developer Interview questions are incomplete without this query. Hence understand its importance)

The Pickle module takes any Python object and converts it to a string representation, which it then dumps into a file using the dump function. Unpickling is the method of recovering original Python objects from a stored string representation.

  1. How to write comments in Python?

The # character is used to start comments in Python. Alternatively, docstrings are often used for commenting (strings enclosed within triple quotes).


#Comments in Python will be initiated by a # symbol

print(“Comments in Python will be initiated by # symbol”)

Output: Comments in Python will be initiated by a # symbol

  1. Explain self in python?

A class’s instance or entity is called Self. This is specifically used as the first parameter in Python. However, in Java, where it is optional, this is not the case. With local variables, it’s easier to distinguish between a class’s methods and attributes. In the init method, the self variable refers to the newly generated object, while it refers to the object whose method was named in other methods.

  1. What is _init_ in python?

In Python, __init__ is a method or constructor. When a new object/instance of a class is made, this method is automatically called to allocate memory. The __init__ method is used in all classes.

Here’s an example of how to put it to good use.

class Employee:

def __init__(self, name, age, salary): = name

self. age = age

self. salary = 25000

E1 = Employee(“abc”, 25, 25000)

# E1 is the instance of class Employee.

#__init__ allocates memory for E1.








  1. Explain Decorator in python?

A Python decorator is a change to the Python syntax that allows for simple function modification.

  1. What is slicing and what does [::-1] do?

Python slicing is about obtaining a sub-string from the given string by slicing it respectively from start to end.

Python slicing can be done in two ways.

  • slice() Constructor

  • Extending Indexing

For Example,


#Using Constructor

b = slice(1)


# Extending Indexing





To reverse the order of an array or a number, use [::-1].

For Example,

import array as arr



Output: array(‘i’, [4, 3, 2, 1, 0])

  1. How will you convert a number to a string?

The built-in str() function can be used. We may use the other built-in functions like oct() or hex() to get an octal or hexadecimal representation ().

  1. Is Python having a main() function?

It certainly does. When we run a Python script, it is automatically executed. We may also use the if statement to bypass the normal flow of things.

  1. Explain GIL?

The Global Interpreter Lock, or GIL, is a mutex that is used to restrict access to Python objects. It synchronizes threads and prevents them from continually running.

  1. Does whitespace matter in Python?

In most other programming languages, indentation is used only to help make the code look pretty. … The number of indentation matters: A missing or extra space in a Python block could cause an error or unexpected behavior. The Error is commonly known as “Indentation Error”.

  1. Is Python case-sensitive?

Of course, Yes. Python is a case-sensitive language.

  1. Explain Python Arrays and lists?

Arrays and lists are also used to store data in Python.

Arrays may only contain elements of the same data type, so the array’s data types must be homogeneous.

Lists may contain elements of various data types, implying that list data types are heterogeneous. Arrays use much less memory than lists.

  1. Explain Generators in python?

The most important python functions are generators, which return an iterable set of objects, one at a time, in a logical order. In general, generators are used to generate iterators using a different approach: instead of returning a generator object, they use the yield keyword.

  1. What are the functions of the operators is, not, and in?

Operators are a type of function that performs a specific task. They take one or more values and generate a result that corresponds to them.

is: – returns true if both operands are true (e.g., “a” is “a”).

not: – returns the Boolean value’s inverse.

in: – specifies whether a certain element is present in a given sequence.

  1. Why isn’t all the memory deallocated when Python exits?

When Python exits, some Python modules, especially those with circular references to other objects or objects referenced from global namespaces, are not always freed or de-allocated.

It is difficult to de-allocate the memory that has been allocated by the C library.

Python will try to de-allocate/destroy all other objects on exit because it has its powerful clean-up mechanism.

  1. How help() and dir() function is used in python?

Both help() and dir() are available from the Python interpreter and are used to show a consolidated list of built-in functions.

The help() function displays the documentation string and also allows you to see help for modules, keywords, and attributes, among other items.

The dir() function is used to display the symbols that have been specified.

  1. What exactly do you mean by Tkinter?

Tkinter is a Python module for creating graphical user interfaces. It is Python’s standard GUI creation toolkit. Tkinter is included with Python, so there is no need to install it. By importing it into our document, we can begin to use it.

  1. Is Python an object-oriented language?

Except for access specifiers, Python follows an object-oriented programming paradigm that incorporates all of the basic OOPs principles such as inheritance, polymorphism, and more. Strong encapsulation is not supported in Python (adding a private keyword before data members). It does, however, have a data hiding convention, which is to prefix a data member with two underscores.

  1. Explain Control flow statements in python?

Control flow statements are used to modify or manipulate a program’s execution flow. In general, a program’s execution flow runs from top to bottom, but certain statements (control flow statements) in Python may cause this order to be broken. Decision-making, looping, and other control flow statements are included.

  1. Explain docstrings?

Using documentation strings or docstrings, Python allows users to provide a description (or short notes) for their processes. Docstrings vary from standard comments in Python in that, unlike comments, they are not entirely ignored by the Python interpreter. When docstring is the first statement in a process or function, the dot operator can be used to access documentation strings at runtime.

  1. What is Python Flask’s approach to database requests?

A database-driven framework is supported by Flask (RDBS). A framework like this necessitates the creation of a database, which requires piping the schema.sql file into the sqlite3 command. To build or start a database in Flask, we’ll need to install the sqlite3 command.

There are three ways to request a database in Flask:

  • before request() is a function that is called before a request and receives no arguments.

  • after request(): These functions are invoked after a request and transfer the response to the client.

  • teardown request(): When an exception is presented and answers are not assured, teardown request() is called. After the response has been built, they are called.

  1. In Python, why would you use NumPy arrays instead of lists?

Users can gain from NumPy arrays in three ways, as seen below:

  • NumPy arrays use a lot less memory, which makes the code run faster.

  • NumPy arrays run faster and don’t need any additional processing.

  • NumPy has a very readable syntax, which makes it very easy to use for programmers.

  1. Explain Expression?

An expression is defined as a combination of variables, values operators, and calls to functions. It is a series of operands or operators like a + B – 2 that forms called an expression. Python assists many such operators in integrating data objects into an express.

  1. What do you know about statements in python?

When you type the statement in the command line, Python interprets it and executes it, displaying the result if one exists.

  1. What == means in python?

It’s a comparison or check operator that compares the values of two items.

  1. Why %s is used in python?

The format specifier %s converts any value into a string.

  1. Explain Negative indexes and why are they used?

In Python, the sequences are indexed and include both positive and negative numbers. The positive numbers use ‘0′ as the first index and ‘1′ as the second index, and the process continues in this manner.

The index for a negative number begins with ‘-1,’ which is the last index in the series, and ends with ‘-2,’ which is the penultimate index, and the sequence continues as it does for a positive number.

The negative index is used to delete any new-line spaces from the string, allowing it to except the last character, S[:-1]. The negative index is often used to represent the index in the correct order of the string.

  1. Explain Shallow copy.

When a new instance type is made, a shallow copy is used to preserve the values that were copied in the previous instance. Shallow copy is used to copy reference pointers in the same way as it is used to copy values. These references apply to the original objects, and any changes made to any member of the class will affect the original copy. Shallow copy allows for quicker program execution and is dependent on the size of the data being used.

  1. Explain how Multithreading is achieved in Python?

While Python has a multi-threading kit, it is typically not a good idea to use it if you want to multi-thread to speed up your code.

The Global Interpreter Lock is a Python build (GIL). The GIL ensures that only one of your ‘threads’ is active at any given time. A thread obtains the GIL, conducts some work, and then passes the GIL to the following thread.

Since this happens so quickly, it can appear to the human eye that your threads are running in parallel, but they are sharing the same CPU core.

All of this GIL passing adds to the execution time. This means that using the threading kit to make the code run faster isn’t always a smart idea.

  1. Define Python Libraries and list them out.

A list of Python packages is referred to as a Python library. Numpy, Pandas, Matplotlib, Scikit-learn, and many other Python libraries are widely used.

  1. Why is split() used in python?

In Python, the split() method is used to split a string.

Example program:

a=”python certification”


Output: [‘python’ , ‘certification’]

  1. How will you import modules in python?

The import keyword can be used to import modules. Modules can be imported in three ways:

  • import array

  • import array as arr

  • from array import *

  1. How to create a class in python?

The class keyword in Python is used to construct a class. Name of the class must always be in PascalCase (i.e) class EmployeeName: .

class Employee:

def __init__(self, name): = name



Output: xyz

  1. Which is better, Django or Flask?

Django and Flask convert URLs or addresses entered into web browsers into Python functions.

Flask is much easier to use than Django, but it doesn’t do much for you, so you’ll have to define the specifics, while Django does a lot for you and you won’t have to do much. Django has prewritten code that the user must analyze, while Flask allows users to write their code, making it easier to understand. Both are technically excellent and have their own set of advantages and disadvantages.

  1. What do you know about the Pyramid Framework?

The pyramid is designed for larger projects. It gives the developer versatility and allows them to use the appropriate resources for their project. The database, URL layout, templating design, and other options are all available to the developer. Pyramid has a lot of configuration options.

  1. Why is the session used in Django Framework?

Django has a session feature that allows you to store and retrieve data for each visitor to your site. Django abstracts the mechanism of sending and receiving cookies by storing all relevant data on the server-side and placing a session ID cookie on the client-side. As a result, the data is not processed on the client-side. This is beneficial from a security standpoint.

  1. Are multiple inheritances supported by python?

A class may derive from multiple parent classes, which is known as multiple inheritances. Unlike Java, Python allows for multiple inheritances.

  1. Explain Monkey patching in python?

Monkey patches are only used in Python to refer to run-time dynamic changes to a class or module.



class MyClass:

def f(self):

print “f()”

The monkey-patch checking can then be performed as follows:

import m

def monkey_f(self):

print “monkey_f()”

m.MyClass.f = monkey_f

obj = m.MyClass()


The output will be as below:


As we can see, we changed the behavior of f() in MyClass by using the monkey f() function that we described outside of module m.

Now, Try solving this general question below,

  • How will you remove values in a python array?

The pop() and delete() methods can be used to remove elements from an array. The difference between these two functions is that the first returns the deleted value, while the second does not.

Example code:

x=arr.array(‘d’,[1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6])








array(‘d’,[1.1, 1.2, 1.4, 1.5])


We hope you found our Python Interview Questions 2021 guide useful. The above list of questions, coupled with your programming practice, will help you pass any Python interview. Apart from the fundamentals, the only thing left is to practice so that your mind is already writing and executing code while the interviewer is asking you questions. Visit our Python course page at for getting a realistic idea upon Python certification training.

Best wishes from us to you on your Python job interview!.