Essential Python Interview Questions
Essential Python Interview Questions
These questions and answers cover some fundamental Python concepts that are often
discussed in interviews.
A variable created inside a function belongs to the local scope of that function,
and can only be used inside that function.
A variable created in the main body of the Python code is a global variable and
belongs to the global scope. Global variables are available from within any
scope, global and local.
An iterator is an object that can be iterated upon, meaning that you can traverse
through all the values.
All classes in Python have a function called __init__(), which is always executed
when the class is being initiated.
We can use the __init__() function to assign values to object properties, or other
operations that are necessary to do when the object is being created.
Lists, tuples, and sets are all used to store multiple items in a single variable, but they
have di erent properties:
A list is ordered and changeable. It allows duplicate values.
6) How can you check if all the characters in a string are alphanumeric?
You can use the isalnum() method, which returns True if all the characters are
alphanumeric, meaning alphabet letter (a-z) and numbers (0-9).
num = "5"
convert = int(num)
Indentation refers to the spaces at the beginning of a code line. Where in other
programming languages the indentation in code is for readability only, the
indentation in Python is very important.
9) What is the correct syntax to output the type of a variable or object in Python?
print(type(x))
SET
Parent class is the class being inherited from, also called base class.
Child class is the class that inherits from another class, also called derived
class.
x = 41
if x > 10:
print("Above ten,")
if x > 20:
else:
Above ten,
and also above 20!
13) Can you list Python's primary built-in data types, in categories?
x = ["apple", "banana"]
print("banana" in x) # returns True
x = ["apple", "banana"]
print("pineapple" not in x) # returns True
15) Which statement can be used to avoid errors if an if statement has no content?
If you do not know how many arguments that will be passed into your function,
add a * before the parameter name in the function definition. This way the
function will receive a tuple of arguments, and can access the items accordingly.
To create a module just save the code you want in a file with the file
extension .py:
def greeting(name):
print("Hello, " + name)
Now we can use the module we just created, by using the import statement:
import mymodule
[Link]("Jonathan")
18) Can you copy a List in Python by simply writing: list2 = list1?
No, because: list2 will only be a reference to list1, and changes made in list1 will
automatically also be made in list2.
To make a copy of a list, you can use copy() or the list() method.
19) How can you return a range of characters of a string?
Specify the start index and the end index, separated by a colon, to return a part
of the string, for example:
b = "Hello, World!"
print(b[2:5])
class MyClass:
x=5
p1 = MyClass()
print(p1.x)
These are some of the questions you might encounter during an entry-level Python
interview.
Python is a versatile, high-level programming language known for its easy-to-read syntax
and broad applications. Here are some of Python’s key features:
Dynamic Typing: Python does not require explicit data type declarations,
allowing more flexibility.
Extensive Libraries and Frameworks: Libraries like NumPy, Pandas, and Django
expand Python’s functionality for specialized tasks in data science, web
development, and more.
Lists and tuples are fundamental Python data structures with distinct characteristics
and use cases.
List:
Performance: Slower iteration compared to tuples but better for insertion and
deletion operations.
Example:
a_list.append("Session")
Powered By
Tuple:
Performance: Faster iteration compared to lists but lacks the flexibility of lists.
Example:
Powered By
Purpose:
Example:
We have created a book_shop class and added the constructor and book() function. The
constructor will store the book title name and the book() function will print the book
name.
To test our code we have initialized the b object with “Sandman” and executed
the book() function.
class book_shop:
# constructor
[Link] = title
# Sample method
def book(self):
b = book_shop('Sandman')
[Link]()
Powered By
4. What is the di erence between a mutable data type and an immutable data
type?
Mutable data types:
Definition: Mutable data types are those that can be modified after their
creation.
Use Case: Suitable for collections of items where frequent updates are needed.
Example:
# List Example
a_list = [1, 2, 3]
a_list.append(4)
# Dictionary Example
a_dict['c'] = 3
Powered By
Definition: Immutable data types are those that cannot be modified after their
creation.
Example:
# Numeric Example
a_num = 10
print(a_num) # Output: 20
# String Example
a_str = "hello"
# Tuple Example
a_tuple = (1, 2, 3)
Powered By
List
List comprehension o ers one-liner syntax to create a new list based on the values of
the existing list. You can use a for loop to replicate the same thing, but it will require you
to write multiple lines, and sometimes it can get complex.
List comprehension eases the creation of the list based on existing iterable.
my_list
# [1, 2, 3, 4, 5, 6, 7, 8, 9]
Powered By
Dictionary
Similar to a List comprehension, you can create a dictionary based on an existing table
with a single line of code. You need to enclose the operation with curly brackets {}.
my_dict
{1: 1, 2: 4, 3: 9, 4: 16, 5: 25, 6: 36, 7: 49, 8: 64, 9: 81}
Powered By
Tuple
It is a bit di erent for Tuples. You can create Tuple comprehension using round
brackets (), but it will return a generator object, not a tuple comprehension.
You can run the loop to extract the elements or convert them to a list.
my_tuple
Powered By
6. What is the Global Interpreter Lock (GIL) in Python, and why is it important?
The Global Interpreter Lock (GIL) is a mutex used in CPython (the standard Python
interpreter) to prevent multiple native threads from executing Python bytecode
simultaneously. It simplifies memory management but limits multi-threading
performance for CPU-bound tasks. This makes threading in Python less e ective for
certain tasks, though it works well for I/O-bound operations.
Here are some of the questions you might encounter during an intermediate-level
Python interview.
7. Can you explain common searching and graph traversal algorithms in Python?
Python has a number of di erent powerful algorithms for searching and graph traversal,
and each one deals with di erent data structures and solves di erent problems. I can
them here:
Binary Search: If you need to quickly find an item in a sorted list, binary
search is your go-to. It works by repeatedly dividing the search range in half until
the target is found.
AVL Tree: An AVL tree keeps things balanced, which is a big advantage if you’re
frequently inserting or deleting items in a tree. This self-balancing binary search
tree structure keeps searches fast by making sure the tree never gets too
skewed.
Breadth-First Search (BFS): BFS is all about exploring a graph level by level. It’s
especially useful if you’re trying to find the shortest path in an unweighted graph
since it checks all possible moves from each node before going deeper.
A Algorithm*: The A* algorithm is a bit more advanced and combines the best of
both BFS and DFS by using heuristics to find the shortest path e iciently. It’s
commonly used in pathfinding for maps and games.
A KeyError in Python occurs when you try to access a key that doesn’t exist in a
dictionary. This error is raised because Python expects every key you look up to be
present in the dictionary, and when it isn’t, it throws a KeyError.
For example, if you have a dictionary of student scores and try to access a student who
isn’t in the dictionary, you’ll get a KeyError. To handle this error, you have a few options:
Use the .get() method: This method returns None (or a specified default value)
instead of throwing an error if the key isn’t found.
Use a try-except block: Wrapping your code in try-except allows you to catch
the KeyError and handle it gracefully.
Check for the key with in: You can check if a key exists in the dictionary using if
key in dictionary before trying to access it.
To learn more, read our full tutorial: Python KeyError Exceptions and How to Fix Them.
9. How does Python handle memory management, and what role does garbage
collection play?
In Python, shallow and deep copies are used to duplicate objects, but they handle
nested structures di erently.
Shallow Copy: A shallow copy creates a new object but inserts references to the
objects found in the original. So, if the original object contains other mutable
objects (like lists within lists), the shallow copy will reference the same inner
objects. This can lead to unexpected changes if you modify one of those inner
objects in either the original or copied structure. You can create a shallow copy
using the copy() method or the copy module’s copy() function.
Deep Copy: A deep copy creates a new object and recursively copies all objects
found within the original. This means that even nested structures get duplicated,
so changes in one copy don’t a ect the other. To create a deep copy, you can use
the copy module’s deepcopy() function.
Example Usage: A shallow copy is suitable when the object contains only immutable
items or when you want changes in nested structures to reflect in both copies. A deep
copy is ideal when working with complex, nested objects where you want a completely
independent duplicate. Read our Python Copy List: What You Should Know tutorial to
learn more. This tutorial includes a whole section on the di erence between shallow
copy and deep copy.
11. How can you use Python’s collections module to simplify common tasks?
Example:
count = Counter(data)
Powered By
Monkey patching in Python is a dynamic technique that can change the behavior of the
code at run-time. In short, you can modify a class or module at run-time.
Example:
1. We have created a class monkey with a patch() function. We have also created
a monk_p function outside the class.
3. In the end, we will test the modification by creating the object using
the monkey class and running the patch() function.
Instead of displaying patch() is being called, it has displayed monk_p() is being called.
class monkey:
def patch(self):
def monk_p(self):
[Link] = monk_p
obj = monkey()
[Link]()
Powered By
Example:
Instead of writing multiple lines of open, try, finally, and close, you can create and write
a text file using the with statement. It is simple.
Powered By
try: and except: are commonly known for exceptional handling in Python, so where
does else: come in handy? else: will be triggered when no exception is raised.
Example:
1. On the first try, we entered 2 as the numerator and d as the denominator. Which
is incorrect, and except: was triggered with “Invalid input!”.
2. On the second try, we entered 2 as the numerator and 1 as the denominator and
got the result 2. No exception was raised, so it triggered the else: printing the
message Division is successful.
try:
division = num1/num2
except:
print('Invalid input!')
else:
print('Division is successful.')
## Try 1 ##
# Enter Numerator: 2
# Enter Denominator: d
# Invalid input!
## Try 2 ##
# Enter Numerator: 2
# Enter Denominator: 1
# Division is successful.
Powered By
Take the Python Fundamentals skill track to gain the foundational skills you need to
become a Python programmer.
Decorators in Python are a design pattern that allows you to add new functionality to an
existing object without modifying its structure. They are commonly used to extend the
behavior of functions or methods.
Example:
def my_decorator(func):
def wrapper():
func()
return wrapper
@my_decorator
def say_hello():
print("Hello!")
say_hello()
# Output:
# Hello!
Powered By
16. What are context managers in Python, and how are they implemented?
Context managers in Python are used to manage resources, ensuring that they are
properly acquired and released. The most common use of context managers is
the with statement.
Example:
class FileManager:
self.filename = filename
[Link] = mode
def __enter__(self):
return self.file
self.fi[Link]()
[Link]('Hello, world!')
Powered By
In this example, the FileManager class is a context manager that ensures the file is
properly closed after it is used within the with statement.
17. What are metaclasses in Python, and how do they di er from regular classes?
Metaclasses are classes of classes. They define how classes behave and are created.
While regular classes create objects, metaclasses create classes. By using
metaclasses, you can modify class definitions, enforce rules, or add functionality
during class creation.
Example:
class Meta(type):
class MyClass(metaclass=Meta):
pass
Powered By
For those focused more on data science applications of Python, these are some
questions you may encounter.
18. What are the advantages of NumPy over regular Python lists?
Memory
For example, if you create a list and a Numpy array of a thousand elements. The list will
consume 48K bytes, and the Numpy array will consume 8k bytes of memory.
Speed
Numpy arrays take less time to perform the operations on arrays than lists.
For example, if we are multiplying two lists and two Numpy arrays of 1 million elements
together. It took 0.15 seconds for the list and 0.0059 seconds for the array to operate.
Vesititly
Numpy arrays are convenient to use as they o er simple array multiple, addition, and a
lot more built-in functionality. Whereas Python lists are incapable of running basic
operations.
Merge
Merge two DataFrames named series objects using the unique column identifier.
It requires two DataFrame, a common column in both DataFrame, and “how” you want
to join them together. You can left, right, outer, inner, and cross join two data
DataFrames. By default, it is an inner join.
Powered By
Join
Join the DataFrames using the unique index. It requires an optional on argument that
can be a column or multiple column names. By default, the join function performs a left
join.
[Link](df2)
Powered By
Concatenate
[Link](df1,df2)
Powered By
We can identify missing values in the DataFrame by using the isnull() function and then
applying sum(). Isnull() will return boolean values, and the sum will give you the number
of missing values in each column.
In the example, we have created a dictionary of lists and converted it into a pandas
DataFrame. After that, we used isnull().sum() to get the number of missing values in
each column.
import pandas as pd
import numpy as np
# dictionary of lists
# creating a DataFrame
df = [Link](dict)
[Link]().sum()
# id 1
# Age 2
# Score 1
Powered By
1. Drop the entire row or the columns if it consists of missing values using dropna().
This method is not recommended, as you will lose important information.
2. Fill the missing values with the constant, average, backward fill, and forward fill
using the fillna() function.
Note: make sure you are working with a larger dataset while using
the dropna() function.
# drop missing values
#fillna
df.fillna(method ='bfill')
# Interpolate
Powered By
Become a professional data scientist by taking the Data Scientist with Python career
track. It includes 25 courses and six projects to help you learn all the fundamentals of
data science with the help of Python libraries.
21. Which all Python libraries have you used for visualization?
Data visualization is the most important part of data analysis. You get to see your data in
action, and it helps you find hidden patterns.
1. Matplotlib
2. Seaborn
3. Plotly
4. Bokeh
In Python, we generally use Matplotlib and seaborn to display all types of data
visualization. With a few lines of code, you can use it to display scatter plot, line plot,
box plot, bar chart, and many more.
For interactive and more complex applications, we use Plotly. You can use it to create
colorful interactive graphs with a few lines of code. You can zoom, apply animation, and
even add control functions. Plotly provides more than 40 unique types of charts, and we
can even use them to create a web application or dashboard.
Bokeh is used for detailed graphics with a high level of interactivity across large
datasets.
Normalization scales data to a specific range, usually [0, 1], while standardization
transforms it to have a mean of 0 and a standard deviation of 1. Both techniques are
essential for preparing data for machine learning models.
Example:
import numpy as np
# Normalize
normalizer = MinMaxScaler()
normalized = normalizer.fit_transform(data)
print(normalized)
# Standardize
scaler = StandardScaler()
standardized = scaler.fit_transform(data)
print(standardized)
Powered By
If you have a Python coding interview coming up, preparing questions similar to these
can help you impress the interviewer.
23. How can you replace string space with a given character in Python?
It is a simple string manipulation challenge. You have to replace the space with a
specific character.
Example 1: A user has provided the string l vey u and the character o, and the output
will be loveyou.
Example 2: A user has provided the string D t C mpBl ckFrid yS le and the character a,
and the output will be DataCampBlackFridaySale.
In the str_replace() function, we will loop over each letter of the string and check if it is
space or not. If it consists of space, we will replace it with the specific character
provided by the user. Finally, we will be returning the modified string.
def str_replace(text,ch):
result = ''
for i in text:
if i == ' ':
i = ch
result += i
return result
ch = "a"
str_replace(text,ch)
# 'DataCampBlackFridaySale'
Powered By
24. Given a positive integer num, write a function that returns True if num is a
perfect square else False.
This has a relatively straightforward solution. You can check if the number has a perfect
square root by:
1. Finding the square root of the number and converting it into an integer.
2. Applying the square to the square root number and checking if it's a perfect
square root.
Test 1
Test 2
def valid_square(num):
square = int(num**0.5)
check = square**2==num
return check
valid_square(10)
# False
valid_square(36)
# True
Powered By
Finding factorial
In the first step, we will use a while loop to iterate over the n factorial and stop when the
n is equal to 1.
In the second step, we will calculate the trailing zero, not the total number of zeros.
There is a huge di erence.
7! = 5040
Powered By
The seven factorials have a total of two zeros and only one trailing zero, so our solution
should return 1.
def factorial_trailing_zeros(n):
fact = n
while n > 1:
fact *= n - 1
n -= 1
result = 0
for i in str(fact)[::-1]:
if i == "0":
result += 1
else:
break
return result
factorial_trailing_zeros(10)
#2
factorial_trailing_zeros(18)
#3
Powered By
Take the essential practicing coding interview questions course to prepare for your
next coding interviews in Python.
You are provided with a large string and a dictionary of the words. You have to find if the
input string can be segmented into words using the dictionary or not.
Image by Author
The solution is reasonably straightforward. You have to segment a large string at each
point and check if the string can be segmented to the words in the dictionary.
3. The first substring will check each point in the large string from s[0:i]
5. If the first substring is in the dictionary, it will create the second substring using
s[i:0].
first_str = s[0:i]
if first_str in dictionary:
second_str = s[i:]
if (
not second_str
or second_str in dictionary
or can_segment_str(second_str, dictionary)
):
return True
return False
s = "datacamp"
can_segment_string(s, dictionary)
# True
Powered By
Given an integer sorted array in increasing order, remove the duplicate numbers such
that each unique element appears only once. Make sure you keep the final order of the
array the same.
It is impossible to change the length of the array in Python, so we will place the result in
the first part of the array. After removing duplicates, we will have k elements, and the
first k elements in the array should hold the results.
Solution:
1. Run the loop for the range of 1 to the size of the array.
2. Check if the previous number is unique or not. We are comparing previous
elements with the current one.
3. If it is unique, update the array using insertIndex, which is 1 at the start, and add
+1 to the insertIndex.
This question is relatively straightforward once you know how. If you put more time into
understanding the statement, you can easily come up with a solution.
def removeDuplicates(array):
size = len(array)
insertIndex = 1
if array[i - 1] != array[i]:
array[insertIndex] = array[i]
insertIndex = insertIndex + 1
return insertIndex
array_1 = [1,2,2,3,3,4]
removeDuplicates(array_1)
#4
array_2 = [1,1,3,4,5,6,6]
removeDuplicates(array_2)
#5
Powered By
Example:
4 5 3 2 8 1 6
n=8
missing number = 7
2. By using arithmetic series sum formula, we will find the expected sum of the first
n numbers.
3. Return the di erence between the expected sum and the sum of the elements.
def find_missing(input_list):
sum_of_elements = sum(input_list)
n = len(input_list) + 1
actual_sum = (n * ( n + 1 ) ) / 2
list_1 = [1,5,6,3,4]
find_missing(list_1)
#2
Powered By
def is_palindrome(s):
return s == s[::-1]
Powered By
Python Interview Questions for Facebook, Amazon, Apple, Netflix, and Google
Below, we’ve picked out some of the questions you might expect from the most sought-
after roles in the industries, those at Meta, Amazon, Google, and the like.
The exact questions you’ll encounter at Meta depend largely on the role. However, you
might expect some of the following:
You are provided with the list of stock prices, and you have to return the buy and sell
price to make the highest profit.
Note: We have to make maximum profit from a single buy/sell, and if we can’t make a
profit, we have to reduce our losses.
Example 1: stock_price = [8, 4, 12, 9, 20, 1], buy = 4, and sell = 20. Maximizing the
profit.
Example 2: stock_price = [8, 6, 5, 4, 3, 2, 1], buy = 6, and sell = 5. Minimizing the loss.
Solution:
1. We will calculate the global profit by subtracting global sell (the first element in
the list) from current buy (the second element in the list).
2. Run the loop for the range of 1 to the length of the list.
3. Within the loop, calculate the current profit using list elements and current buy
value.
4. If the current profit is greater than the global profit, change the global profit with
the current profit and global sell to the i element of the list.
5. If the current buy is greater than the current element of the list, change the
current buy with the current element of the list.
6. In the end, we will return global buy and sell value. To get global buy value, we
will subtract global sell from global profit.
The question is a bit tricky, and you can come up with your unique algorithm to solve the
problems.
def buy_sell_stock_prices(stock_prices):
current_buy = stock_prices[0]
global_sell = stock_prices[1]
global_profit = current_profit
global_sell = stock_prices[i]
current_buy = stock_prices[i]
stock_prices_1 = [10,9,16,17,19,23]
buy_sell_stock_prices(stock_prices_1)
# (9, 23)
stock_prices_2 = [8, 6, 5, 4, 3, 2, 1]
buy_sell_stock_prices(stock_prices_2)
# (6, 5)
Powered By
Amazon Python interview questions can vary greatly but could include:
Write a function that returns True if there is a Pythagorean triplet that satisfies a2+ b2 =
c2.
Example:
Input Output
[3, 1, 4, 6, 5] True
Solution:
3. Run two loops. The outer loop starts from the last index of the array to 1, and the
inner loop starts from (outer_loop_index - 1) to the start.
4. Create set() to store the elements between outer loop index and inner loop index.
def checkTriplet(array):
n = len(array)
for i in range(n):
array[i] = array[i]**2
[Link]()
for i in range(n - 1, 1, -1):
s = set()
if (array[i] - array[j]) in s:
return True
[Link](array[j])
return False
arr = [3, 2, 4, 6, 5]
checkTriplet(arr)
# True
Powered By
32. How many ways can you make change with coins and a total amount?
We need to create a function that takes a list of coin denominations and total amounts
and returns the number of ways we can make the change.
In the example, we have provided coin denominations [1, 2, 5] and the total amount of
5. In return, we got five ways we can make the change.
Image by Author
Solution:
1. We will create the list of size amount + 1. Additional spaces are added to store
the solution for a zero amount.
3. We will run two loops. The outer loop will return the number of denominations,
and the inner loop will run from the range of the outer loop index to the amount
+1.
4. The results of di erent denominations are stored in the array solution. solution[i]
= solution[i] + solution[i - den]
5. The process will be repeated for all the elements in the denomination list, and at
the last element of the solution list, we will have our number.
solution[0] = 1
return solution[len(solution) - 1]
denominations = [1,2,5]
amount = 5
solve_coin_change(denominations,amount)
#4
Powered By
As with the other companies mentioned, Google Python interview questions will
depend on the role and level of experience. However, some common questions include:
The Lambda function is also known as an anonymous function. You can add any
number of parameters but with only one statement.
An iterator is an object that we can use to iterate over iterable objects like lists,
dictionaries, tuples, and sets.
The generator is a function similar to a normal function, but it generates a value using
the yield keyword instead of return. If the function body contains yield, it automatically
becomes a generator.
Read more about Python iterators and generators in our full tutorial.
34. Given an array arr[], find the maximum j – i such that arr[j] > arr[i]
This question is quite straightforward but requires special attention to detail. We are
provided with an array of positive integers. We have to find the maximum di erence
between j-i where array[j] > array[i].
Examples:
Solution:
1. Calculate the length of the array and initiate max di erence with -1.
2. Run two loops. The outer loop picks elements from the left, and the inner loop
compares the picked elements with elements starting from the right side.
3. Stop the inner loop when the element is greater than the picked element and
keep updating the maximum di erence using j - I.
n = len(array)
max_di = -1
j=n-1
max_di = j - i
j -= 1
return max_di
array_1 = [20,70,40,50,12,38,98]
max_index_di (array_1)
#6
Powered By
Ternary operators are also known as conditional expressions. They are operators that
evaluate expression based on conditions being True and False.
You can write conditional expressions in a single line instead of writing using multiple
lines of if-else statements. It allows you to write clean and compact code.
For example, we can convert nested if-else statements into one line, as shown below.
If-else statement
score = 75
print('Fail')
else:
print('Merit')
else:
print('Distinction')
# Distinction
Powered By
# Distinction
Powered By
@lru_cache(maxsize=3)
return a + b
LIST vs TUPLES
LIST TUPLES
Lists are mutable i.e., they can be Tuples are immutable, meaning they cannot be edited after
edited. creation.
Lists are slower than tuples. Tuples are faster than lists.
Syntax: list_1 = [10, ‘Chelsea’, 20] Syntax: tup_1 = (10, ‘Chelsea’, 20)
Python is an interpreted language. That means that, unlike languages like C and
its variants, Python does not need to be compiled before it is run. Other
interpreted languages include PHP and Ruby.
Python is dynamically typed, this means that you don’t need to state the types
of variables when you declare them or anything like that. You can do things
like x=111 and then x="I'm a string" without error
In Python, functions are first-class objects. This means that they can be
assigned to variables, returned from other functions and passed into functions.
Classes are also first class objects
Writing Python code is quick but running it is often slower than compiled
languages. Fortunately,Python allows the inclusion of C-based extensions so
bottlenecks can be optimized away and often are. The numpy package is a good
example of this, it’s really quite quick because a lot of the number-crunching it
does isn’t actually done by Python
[Link] is pep 8?
Ans: PEP stands for Python Enhancement Proposal. It is a set of rules that specify how
to format Python code for maximum readability.
1.
5. Extensive support for libraries– Python has vast libraries that contain
almost any function needed. It also further provides the facility to import
other packages using Python Package Manager(pip).
6. Portable– Python programs can run on any platform without requiring any
change.
2. Global namespace– These are namespaces for all the objects created at the
level of the main program.
Ans: Decorators are used to add some design patterns to a function without changing
its structure. Decorators generally are defined before the function they are enhancing.
To apply a decorator we first define the decorator function. Then we write the function it
is applied to and simply add the decorator function above the function it has to be
applied to. For this, we use the @ symbol before the decorator.
Ans: Dictionary and list comprehensions are just another concise way to define
dictionaries and lists.
[0,1,2,3,4]
[0: 2, 1: 3, 2: 4, 3: 5, 4: 6]
Numbers– They include integers, floating-point numbers, and complex numbers. eg. 1,
7.9,3+4i
List– An ordered sequence of items is called a list. The elements of a list may belong to
di erent data types. Eg. [5,’market’,2.4]
Tuple– It is also an ordered sequence of elements. Unlike lists , tuples are immutable,
which means they can’t be changed. Eg. (3,’tool’,1)
String– A sequence of characters is called a string. They are declared within single or
double-quotes. Eg. “Sana”, ‘She is going to the market’, etc.
Set– Sets are a collection of unique items that are not in order. Eg. {7,6,8}
Dictionary– A dictionary stores values in key and value pairs where each value can be
accessed through its key. The order of items is not important. Eg. {1:’apple’,2:’mango}
Ans: The .py files are the python source code files. While the .pyc files contain the
bytecode of the python files. .pyc files are created when the code is imported from
some other source. The interpreter converts the source .py files to .pyc files which helps
by saving time.
Ans: Slicing is used to access parts of sequences like lists, tuples, and strings. The
syntax of slicing is-[start:end:step]. The step can be omitted as well. When we
write [start:end] this returns all the elements of the sequence from the start (inclusive)
till the end-1 element. If the start or end element is negative i, it means the ith element
from the end. The step indicates the jump or how many elements have to be skipped.
Eg. if there is a list- [1,2,3,4,5,6,7,8]. Then [-[Link] will return elements starting from the
last element till the third element by printing every second element.i.e. [8,6,4].
Ans: Keywords in python are reserved words that have special [Link] are
generally used to define type of variables. Keywords cannot be used for variable or
function names. There are following 33 keywords in python-
And
Or
Not
If
Elif
Else
For
While
Break
As
Def
Lambda
Pass
Return
True
False
Try
With
Assert
Class
Continue
Del
Except
Finally
From
Global
Import
In
Is
None
Nonlocal
Raise
Yield
Ans: A literal in python source code represents a fixed value for primitive data types.
There are 5 types of literals in python-
3. Numeric literals include numeric values that can be either integer, floating point
value, or a complex number. Eg. a=50
6. Special literal- Python has 1 special literal None which is used to return a null
variable.
2. The allocation of heap space for Python objects is done by Python’s memory
manager. The core API gives access to some tools for the programmer to code.
3. Python also has an inbuilt garbage collector, which recycles all the unused
memory and so that it can be made available to the heap space.
Ans: A namespace is a naming system used to make sure that names are unique to
avoid naming conflicts.
Q19. What are python modules? Name some commonly used built-in modules in
Python?
Ans: Python modules are files containing Python code. This code can either be
functions classes or variables. A Python module is a .py file containing executable code.
os
sys
math
random
data time
JSON
Global Variables:
Variables declared outside a function or in global space are called global variables.
These variables can be accessed by any function in the program.
Local Variables:
Any variable declared inside a function is known as a local variable. This variable is
present in the local space and not in the global space.
Example:
a=2
def add():
b=3
c=a+b
print(c)
add()
Output: 5
When you try to access the local variable outside the function add(), it will throw an
error.
Ans: Type conversion refers to the conversion of one data type into another.
list() – This function is used to convert any data type to a list type.
dict() – This function is used to convert a tuple of order (key, value) into a dictionary.
After this, install it on your PC. Look for the location where PYTHON has been
installed on your PC using the following command on your command prompt:
cmd python.
Then go to advanced system settings and add a new variable and name it as
PYTHON_NAME and paste the copied path.
Look for the path variable, select its value and select ‘edit’.
Add a semicolon towards the end of the value if it’s not present and then type
%PYTHON_HOME%
Ans: Indentation is necessary for Python. It specifies a block of code. All code within
loops, classes, functions, etc is specified within an indented block. It is usually done
using four space characters. If your code is not indented necessarily, it will not execute
accurately and will throw errors as well.
Ans: Arrays and lists, in Python, have the same way of storing data. But, arrays can hold
only a single data type elements whereas lists can hold any data type elements.
Example:
My_Array=[Link]('i',[1,2,3,4])
My_list=[1,'abc',1.20]
print(My_Array)
print(My_list)
Output:
Ans: A function is a block of code which is executed only when it is called. To define
a Python function, the def keyword is used.
Example:
def Newfunc():
[Link] is __init__?
class Employee:
[Link] = age
[Link] = 20000
print([Link])
print([Link])
print([Link])
Output:
XYZ
23
20000
Ans: An anonymous function is known as a lambda function. This function can have any
number of parameters but, can have just one statement.
Example:
print(a(5, 6))
Output: 11
The self variable in the init method refers to the newly created object while in other
methods, it refers to the object whose method was called.
Used when you need some block of code syntactically, but you
Pass want to skip its execution. This is basically a null operation.
Nothing happens when this is executed.
For example:
My_Array=[Link]('i',[1,2,3,4,5])
My_Array[::-1]
[::-1] reprints a reversed copy of ordered data structures such as an array or a list. the
original array or list remains unchanged.
Q32. How can you randomize the items of a list in place in Python?
shu le(x)
print(x)
Ans: Iterators are objects which can be traversed though or iterated upon.
Ans:Random module is the standard module that is used to generate a random number.
The method is defined as:
import random
[Link]
The statement [Link]() method return the floating-point number that is in the
range of [0, 1). The function generates random float numbers. The methods that are
used with the random class are the bound methods of the hidden instances. The
instances of the Random can be done to show the multi-threading programs that
creates a di erent instance of individual threads. The other random generators that are
used in this are:
1. randrange(a, b): it chooses an integer and define the range in-between [a, b). It
returns the elements by selecting it randomly from the range that is specified. It
doesn’t build a range object.
2. uniform(a, b): it chooses a floating point number that is defined in the range of
[a,b).Iyt returns the floating point number
4. The Random class that is used and instantiated creates independent multiple
random number generators.
Ans:For the most part, xrange and range are the exact same in terms of functionality.
They both provide a way to generate a list of integers for you to use, however you please.
The only di erence is that range returns a Python list object and x range returns an
xrange object.
This means that xrange doesn’t actually generate a static list at run-time like range does.
It creates the values as you need them with a special technique called yielding. This
technique is used with a type of object known as generators. That means that if you
have a really gigantic range you’d like to generate a list for, say one billion, xrange is the
function to use.
This is especially true if you have a really memory sensitive system such as a cell phone
that you are working with, as range will use as much memory as it can to create your
array of integers, which can result in a Memory Error and crash your program. It’s a
memory hungry beast.
Example:
Ans: Functions that return an iterable set of items are called generators.
Ans: In Python, the capitalize() method capitalizes the first letter of a string. If the string
already consists of a capital letter at the beginning, then, it returns the original string.
Example:
stg='ABCD'
print([Link]())
Output: abcd
Ans: Multi-line comments appear in more than one line. All the lines to be commented
are to be prefixed by a #. You can also a very good shortcut method to comment
multiple lines. All you need to do is hold the ctrl key and left click in every place
wherever you want to include a # character and type a # just once. This will comment all
the lines where you introduced your cursor.
Ans: Docstrings are not actually comments, but, they are documentation strings.
These docstrings are within triple quotes. They are not assigned to any variable and
therefore, at times, serve the purpose of comments as well.
Example:
"""
"""
x=8
y=4
z=x/y
print(z)
Output: 2.0
Ans: Operators are special functions. They take one or more values and produce a
corresponding result.
is: returns true when 2 operands are true (Example: “a” is ‘a’)
Ans:Help() and dir() both functions are accessible from the Python interpreter and used
for viewing a consolidated dump of built-in functions.
1. Help() function: The help() function is used to display the documentation string
and also facilitates you to see the help related to modules, keywords, attributes,
etc.
2. Dir() function: The dir() function is used to display the defined symbols.
Q45. Whenever Python exits, why isn’t all the memory de-allocated?
Ans:
1. Whenever Python exits, especially those Python modules which are having
circular references to other objects or the objects that are referenced from the
global namespaces are not always de-allocated or freed.
3. On exit, because of having its own e icient clean up mechanism, Python would
try to de-allocate/destroy every other object.
The following example contains some keys. Country, Capital & PM. Their corresponding
values are India, Delhi and Modi respectively.
dict={'Country':'India','Capital':'Delhi','PM':'Modi'}
print dict[Country]
Output:India
print dict[Capital]
Output:Delhi
print dict[PM]
Output:Modi
Ans:The Ternary operator is the operator that is used to show the conditional
statements. This consists of the true or false values with a statement that has to be
evaluated for it.
Syntax:
Example:
The expression gets evaluated like if x<y else y, in this case if x<y is true then the value is
returned as big=x and if it is incorrect then big=y will be sent as a result.
Q48. What does this mean: *args, **kwargs? And why would we use it?
Ans:We use *args when we aren’t sure how many arguments are going to be passed to a
function, or if we want to pass a stored list or tuple of arguments to a function. **kwargs
is used when we don’t know how many keyword arguments will be passed to a function,
or it can be used to pass the values of a dictionary as keyword arguments. The
identifiers args and kwargs are a convention, you could also use *bob and **billy but
that would not be wise.
stg='ABCD'
len(stg)
Output:4
Ans:To modify the strings, Python’s “re” module is providing 3 methods. They are:
sub() – finds all substrings where the regex pattern matches and then replace
them with a di erent string
subn() – it is similar to sub() and also returns the new string along with the no. of
replacements.
Q51. What are negative indexes and why are they used?
Ans:The sequences in Python are indexed and it consists of the positive as well as
negative numbers. The numbers that are positive uses ‘0’ that is uses as first index and
‘1’ as the second index and the process goes on like that.
The index for the negative number starts from ‘-1’ that represents the last index in the
sequence and ‘-2’ as the penultimate index and the sequence carries forward like the
positive number.
The negative index is used to remove any new-line spaces from the string and allow the
string to except the last character that is given as S[:-1]. The negative index is also used
to show the index to represent the string in correct order.
Ans: To delete a file in Python, you need to import the OS Module. After that, you need
to use the [Link]() function.
Example:
import os
[Link]("[Link]")
You can get the data type of any object by using the type() function.
Ans:
2. They have certain limitations: they don’t support “vectorized” operations like
elementwise addition and multiplication, and the fact that they can contain
objects of di ering types mean that Python must store type information for every
element, and must execute type dispatching code when operating on each
element.
3. NumPy is not just more e icient; it is also more convenient. You get a lot of
vector and matrix operations for free, which sometimes allow one to avoid
unnecessary work. And they are also e iciently implemented.
4. NumPy array is faster and You get a lot built in with NumPy, FFTs, convolutions,
fast searching, basic statistics, linear algebra, histograms, etc.
Ans: Elements can be added to an array using the append(), extend() and the insert
(i,x) functions.
Example:
[Link](3.4)
print(a)
[Link]([4.5,6.3,6.8])
print(a)
[Link](2,3.8)
print(a)
Output:
Ans: Array elements can be removed using pop() or remove() method. The di erence
between these two functions is that the former returns the deleted value whereas the
latter does not.
Example:
print([Link]())
print([Link](3))
[Link](1.1)
print(a)
Output:
4.6
3.1
Ans: Python is an object-oriented programming language. This means that any program
can be solved in python by creating an object model. However, Python can be treated as
a procedural as well as structural language.
Check out this AI and ML course in collaboration with Illinois Tech to learn Python
usage in Generative AI and ML and build a successful career.
Ans:Shallow copy is used when a new instance type gets created and it keeps the
values that are copied in the new instance. Shallow copy is used to copy the reference
pointers just like it copies the values. These references point to the original objects and
the changes made in any member of the class will also a ect the original copy of
it. Shallow copy allows faster execution of the program and it depends on the size of the
data that is used.
Deep copy is used to store the values that are already copied. Deep copy doesn’t copy
the reference pointers to the objects. It makes the reference to an object and the new
object that is pointed by some other object gets stored. The changes made in the
original copy won’t a ect any other copy that uses the object. Deep copy makes
execution of the program slower due to making certain copies for each object that is
been called.
Ans:
2. Python has a construct called the Global Interpreter Lock (GIL). The GIL makes
sure that only one of your ‘threads’ can execute at any one time. A thread
acquires the GIL, does a little work, then passes the GIL onto the next thread.
3. This happens very quickly so to the human eye it may seem like your threads are
executing in parallel, but they are really just taking turns using the same CPU
core.
4. All this GIL passing adds overhead to execution. This means that if you want to
make your code run faster then using the threading package often isn’t a good
idea.
Ans:The compiling and linking allow the new extensions to be compiled properly
without any error and the linking can be done only when it passes the compiled
procedure. If the dynamic loading is used then it depends on the style that is being
provided with the system. The python interpreter can be used to provide the dynamic
loading of the configuration setup files and will rebuild the interpreter.
1. Create a file with any name and in any language that is supported by the
compiler of your system. For example file.c or fi[Link]
2. Place this file in the Modules/ directory of the distribution which is getting used.
3. Add a line in the file [Link] that is present in the Modules/ directory.
4. Run the file using spam file.o
5. After a successful run of this rebuild the interpreter by using the make command
on the top-level directory.
6. If the file is changed then run rebuildMakefile by using the command as ‘make
Makefile’.
Ans. Python libraries are a collection of Python packages. Some of the majorly used
python libraries are – Numpy, Pandas, Matplotlib, Scikit-learn and many more.
Example:
a="edureka python"
print([Link]())
Ans. Data types in Python are categorized into mutable and immutable data types.
Mutable Data Type – A mutable data type is those whose values can be
changed. Example: List, Dictionaries, and Set
Immutable Data Type – An immutable data type is one in which the values can’t
be changed or altered. Example: String and Tuples
Mutable Immutable
Data type whose values can be Data types whose values can’t be
Definition
changed after creation. changed or altered.
Ans. The try block is used to check some code for errors i.e the code inside the try block
will execute when there is no error in the program. Whereas the code inside the except
block will execute whenever the program encounters some error in the preceding try
block.
Syntax:
try:
#Code 1
except:
#Code 2
The try clause is executed first i.e. the code between try. If there is no exception, then
only the try clause will run, except clause is finished. If any exception occurs, the try
clause will be skipped and except clause will run. If any exception occurs, but the
except clause within the code doesn’t handle it, it is passed on to the outer try
statements. If the exception is left unhandled, then the execution stops. A try statement
can have more than one except clause.
Ans. OrderedDict() is used to maintains the sequence in which keys are added,
ensuring that the order is preserved during iteration. In contrast, a standard dictionary
does not guarantee any specific order when iterated, providing values in an arbitrary
sequence. OrderedDict() distinguishes itself by retaining the original insertion order of
items.
YIELD RETURN
It replace the return of a function to suspend its It exits from a function and
execution without destroying local variables. handing back a value to its caller.
Code written after yield statement execute in next while, code written after return
function call. statement wont execute.
Yield statement function is executed from the last Every function calls run the
state from where the function get paused. function from the start.
Ans. Set and frozenset are two built-in collection data types in Python that are used to
store a collection of unique elements. While set is mutable, meaning that we can add,
remove, or change elements in a set, frozenset is immutable and cannot be modified
after creation.
Q69. What are the ways to swap the values of two elements?
Ans. The below program can be used to swap the value in a List:
# Swap function
return list
# Driver function
pos1, pos2 = 1, 3
Ans. Modules can be imported using the import keyword. You can import modules in
three ways-
Example:
Next, in this Interview Questions blog, let’s have a look at Object Oriented Concepts in
Python.
These Python Interview Questions and Answers will help you prepare for Python job
interviews. Start your preparation by going through the most frequently asked questions
on Python.
Ans:Inheritance allows One class to gain all the members(say attributes and methods)
of another class. Inheritance provides code reusability, makes it easier to create and
maintain an application. The class from which we are inheriting is called super-class
and the class that is inherited is called a derived / child class.
3. Hierarchical inheritance – from one base class you can inherit any number of
child classes
4. Multiple inheritance – a derived class is inherited from more than one base
class.
Q72. How are classes created in Python?
Example:
class Employee:
[Link] = name
E1=Employee("abc")
print([Link])
Output: abc
Ans:In Python, the term monkey patch only refers to dynamic modifications of a class
or module at run-time.
# [Link]
class MyClass:
def f(self):
print "f()"
import m
def monkey_f(self):
print "monkey_f()"
[Link].f = monkey_f
obj = [Link]()
obj.f()
monkey_f()
As we can see, we did make some changes in the behavior of f() in MyClass using the
function we defined, monkey_f(), outside of the module m.
Q74. Does python support multiple inheritance?
Ans: Multiple inheritance means that a class can be derived from more than one parent
classes. Python does support multiple inheritance, unlike Java.
Ans: Polymorphism means the ability to take multiple forms. So, for instance, if the
parent class has a method named ABC then the child class also can have a method
with the same name ABC having its own parameters and variables. Python allows
polymorphism.
Ans: Encapsulation means binding the code and the data together. A Python class in an
example of encapsulation.
Ans: Data Abstraction is providing only the required details and hiding the
implementation from the world. It can be achieved in Python by using interfaces and
abstract classes.
Ans: Python does not deprive access to an instance variable or function. Python lays
down the concept of prefixing the name of the variable, function or method with a single
or double underscore to imitate the behavior of protected and private access
specifiers.
Ans: An empty class is a class that does not have any code defined within its block. It
can be created using the pass keyword. However, you can create objects of this class
outside the class itself. IN PYTHON THE PASS command does nothing when its
executed. it’s a null statement.
For example-
class a:
pass
obj=a()
[Link]="xyz"
print("Name = ",[Link])
Output:
Name = xyz
Ans: It returns a featureless object that is a base for all classes. Also, it does not take
any parameters.
Next, let’s have a look at some Python Pandas Questions in this Python Interview
Questions.
Ans. Pandas is a data manipulation package in Python for tabular data. That is, data in
the form of rows and columns, also known as DataFrames. Intuitively, you can think of a
DataFrame as an Excel sheet. Pandas’ functionality includes data transformations, like
sorting rows and taking subsets, to calculating summary statistics such as the mean,
reshaping DataFrames, and joining DataFrames together. pandas works well with other
popular Python data science packages, often called the PyData ecosystem, including
pandas is used throughout the data analysis workflow. With pandas, you can:
Tidy datasets by reshaping their structure into a suitable format for analysis.
pandas also contains functionality for time series analysis and analyzing text data.
[Python]
import pandas as pd
data = {“Fruits”: [“Apple”, “Mango”, “Orange”],”Quantity”: [4, 8, 7]}
df = [Link](data)
print(df)
[/python]
Output:
Fruits Quantity
0 Apple 4
1 Mango 8
2 Orange 7
Dataframes are joined together on a common column called a key. When we combine
all the rows in dataframe it is a union and the join used is outer join. While, when we
combine the common rows or intersection, the join used is the inner join. Its syntax
is- [Link]([dataframe1, dataframe2], axis=’axis’, join=’type_of_join)
Ans. To make a series from a dictionary, simply pass the dictionary to the command
[Link] method. The keys of the dictionary form the index values of the series
and the values of the dictionary form the values of the series.
&amp;lt;/div&amp;gt;
&amp;lt;div&amp;gt;
import pandas as pd
ser_data = {'A': 5, 'B': 10, 'C': 15, 'D': 20, 'E': 25}
# Create the series
ser = [Link](ser_data)
print(ser)
Output:
A 5
B 10
C 15
D 20
E 25
Ans. To check for missing values in a Pandas dataframe, we use isnull() and notnull()
functions. Both the functions help in checking whether a value is NaN or not. These
functions can also be used with Panda series to identify null value in the series.
Ans. You can modify a DataFrame’s row and column index using reindexing in Pandas.
Indexes can be used with reference to many index DataStructure associated with
several pandas series or pandas DataFrame.
Ans. A Pandas dataframe is a two dimensional data structure which allows you to store
data in rows and columns. To drop a row or column in a dataframe, you need to use the
drop() method available in the dataframe.
Parameters:
axis: int or string value, 0 ‘index’ for Rows and 1 ‘columns’ for Columns.
index or columns: Single label or list. index or columns are an alternative to axis
and cannot be used together. level: Used to specify level in case data frame is
having multiple level index.
import pandas as pd
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;n
bsp;&amp;amp;nbsp;&amp;amp;nbsp; 'Age': [24, 22, 25, 24, 26],
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;n
bsp;&amp;amp;nbsp;&amp;amp;nbsp; 'Qualification': ['BE', 'MBA', 'Msc',
'Msc','MBA']}
df = [Link](data)
print(df)
print(df)
Output:
1 Sam 22 MBA
2 Michel 25 Msc
3 Adam 24 Msc
4 Justin 26 MBA
0 John 24 4.0 BE
Q89. How to get items of series A that are not available in another series B?
Ans. The below program will help you in identifying items in series A but no in series B:
import pandas as pd
print("Series 1:")
print(ps1)
print("nSeries 2:")
print(ps2)
# with [Link]()
res = ps1[~[Link](ps2)]
print(res)
Output:
Series 1:
0 2
1 4
2 8
3 20
4 10
5 47
6 99
Series 2:
0 1
1 3
2 6
3 4
4 10
5 99
6 50
2 8
3 20
5 47
Q90. How to get the items that are not common to both the given series A and B?
Ans. The below program is to identify the elements which are not common in both
series:
import pandas as pd
import numpy as np
print("Original Series:")
print("sr1:")
print(sr1)
print("sr2:")
print(sr2)
result = sr11[~[Link](sr22)]
print(result)
Output:
Original Series:
sr1:
0 1
1 2
2 3
3 4
4 5
sr2:
0 2
1 4
2 6
3 8
4 10
0 1
2 3
4 5
5 6
6 8
7 10
Next, let us have a look at some Basic Python Programs in these Python Interview
Questions.
Before moving ahead, you may go through the recording of Python Code Interview
Questions and Answers where our instructor has shared his experience and expertise
that will help you to crack any Python Interview:
Top 50 Python Code Interview Questions | Python Interview Questions And Answers |
Edureka
If you have other doubts regarding Python or about this Python Interview Questions
blog, feel free to post them in our QnA Forum. Our expert team will get back to you at
the earliest.
Want to Upskill yourself to get ahead in your Career? Check out the Top Trending
Technologies in 2025 or join our masters in python programming course.
def bs(a):
# a = name of list
b=len(a)-1nbsp;
for x in range(b):
for y in range(b-x):
a[y]=a[y+1]
a=[32,5,3,6,7,54,87]
bs(a)
def pyfunc(r):
for x in range(r):
print(' '*(r-x-1)+'*'*(2*x+1))
pyfunc(9)
Output:
***
*****
*******
*********
***********
*************
***************
*****************
if a=0:
else:
print(f,s,end=" ")
for x in range(2,a):
print(next,end=" ")
f=s
s=next
a=int(input("enter number"))
if a=1:
for x in range(2,a):
if(a%x)==0:
print("not prime")
break
else:
print("Prime")
else:
print("not prime")
Output:
enter number 3
Prime
a=input("enter sequence")
b=a[::-1]
if a==b:
print("palindrome")
else:
print("Not a Palindrome")
Output:
Q96. Write a one-liner that will count the number of capital letters in a file. Your
code should work even if the file is too big to fit in memory.
Ans:Let us first write a multiple line solution and then convert it to one-liner code.
count = 0
text = [Link]()
if [Link]():
count += 1
[Link]()
print (list)
Q98. Looking at the below code, write down the final values of A0, A1, …An.
A0 = dict(zip(('a','b','c','d','e'),(1,2,3,4,5)))
A4 = [i for i in A1 if i in A3]
print(A0,A1,A2,A3,A4,A5,A6)
A1 = range(0, 10)
A2 = []
A3 = [1, 2, 3, 4, 5]
A4 = [1, 2, 3, 4, 5]
A6 = [[0, 0], [1, 1], [2, 4], [3, 9], [4, 16], [5, 25], [6, 36], [7, 49], [8, 64], [9, 81]]
Q99. Write a program in Python to print the given number is odd or even.
&amp;lt;/pre&amp;gt;
def check_odd_even(number):
if number % 2 == 0:
print(f"{number} is even.")
else:
print(f"{number} is odd.")
check_odd_even(num)
&amp;lt;pre&amp;gt;
&amp;lt;/pre&amp;gt;
def is_armstrong(num):
num_digits = len(str(num))
sum = 0
temp = num
digit = temp % 10
temp //= 10
return True
else:
return False
if is_armstrong(number):
else:
&amp;lt;pre&amp;gt;
In this program the function is_armstrong() which takes a number as input and
returns True if it’s an Armstrong number, otherwise False. It will prompt the user to
enter a number and calls this function to determine if the entered number is an
Armstrong number or not when executed.
return simple_interest
print(f"The simple interest for the principal amount ${principal}, annual interest rate of
{rate}%, and time period of {time} years is ${interest}.")
&amp;lt;/div&amp;gt;
&amp;lt;div&amp;gt;
def is_symmetrical(input_string):
def is_palindrome(input_string):
if is_symmetrical(string):
print(f"{string} is symmetrical.")
else:
if is_palindrome(string):
print(f"{string} is a palindrome.")
else:
&amp;lt;/div&amp;gt;
&amp;lt;div&amp;gt;
Q104. Write a Python program to find yesterday’s, today’s and tomorrow’s date.
today = [Link]().date()
This program uses the datetime module to work with dates. It defines a
function get_dates() to calculate yesterday’s, today’s, and tomorrow’s dates
using timedelta objects. Then, it calls this function and prints the dates accordingly.
Next, in this Python Programming Interview Questions let’s have a look at some Python
Libraries.
Ans:Flask is a web microframework for Python based on “Werkzeug, Jinja2 and good
intentions” BSD license. Werkzeug and Jinja2 are two of their dependencies. This means
it will have little to no dependencies on external libraries. It makes the framework light
while there is a little dependency to update and fewer security bugs.
A session basically allows you to remember information from one request to another. In
a flask, a session uses a signed cookie so the user can look at the session contents and
modify them. The user can modify the session if only it has the secret key
Flask.secret_key.
Ans:Django and Flask map the URL’s or addresses typed in the web browsers to
functions in Python. Flask is much simpler compared to Django but, Flask does not do
a lot for you meaning you will need to specify the details, whereas Django does a lot for
you wherein you would not need to do much work. Django consists of prewritten code,
which the user will need to analyze whereas Flask gives the users to create their own
code, therefore, making it simpler to understand the code. Technically both are equally
good and both contain their own pros and cons.
Figure:Django Architecture
The developer provides the Model, the view and the template then just maps it to a URL
and Django does the magic to serve it to the user.
Ans:You can use the command edit mysite/[Link], it is a normal python module with
module level representing Django settings.
Django uses SQLite by default; it is easy for Django users as such it won’t require any
other type of installation. In the case your database choice is di erent that you have to
the following keys in the DATABASE ‘default’ item to match your database connection
settings.
Django uses SQLite as a default database, it stores data as a single file in the filesystem.
If you do have a database server—PostgreSQL, MySQL, Oracle, MSSQL—and want to
use it rather than SQLite, then use your database’s administration tools to create a new
database for your Django project. Either way, with your (empty) database in place, all
that remains is to tell Django how to use it. This is where your project’s [Link] file
comes in.
DATABASES = {
'default': {
'ENGINE' : '[Link].sqlite3',
import datetime
def Current_datetime(request):
now = [Link]()
return HttpResponse(html)
Ans:The template is a simple text file. It can create any text-based format like XML,
CSV, HTML, etc. A template contains variables that get replaced with values when the
template is evaluated and tags (% tag %) that control the logic of the template.
Ans:Django provides a session that lets you store and retrieve data on a per-site-visitor
basis. Django abstracts the process of sending and receiving cookies, by placing a
session ID cookie on the client side, and storing all the related data on the server side.
Abstract Base Classes: This style is used when you only want parent’s class to
hold information that you don’t want to type out for each child model.
Proxy models: You can use this model, If you only want to modify the Python
level behavior of the model, without changing the model’s fields.
Next, in this Python Interview Questions blog, let’s have a look at NumPy Concepts in
Python.
import numpy as np
&amp;amp;nbsp;
# creating the list
n = [Link](list)
print(n)
Output: [100 200 300 400] Below code helps you create a 2D array:
import numpy as np
print(arr)
import numpy as np
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;n
bsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;a
mp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&a
mp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; [[13, 14, 15, 16], [17, 18,
19, 20], [21, 22, 23, 24]]]
arr = [Link](nested_list)
print(arr)
Ans. To import Text files into Numpy Arrays, we can use the functions [Link]( ) in
Numpy. Syntax: [Link](fname, dtype = float, comments=’#’, delimiter=None,
converters=None, skiprows=0, usecols=None, unpack=False, ndmin=0,
encoding=’bytes’, max_rows=None, *, like= None) Example: The following ‘[Link]’
text file is considered in this example. It contains the following data:
import numpy as np
print(File_data)
import numpy as np
# using loadtxt()
display(arr)
Q118. How to reverse the numpy array using one line of code?
Ans. To reverse a numpy array, we can use the flip() function in NumPy.
Next in this Python Interview Question blog, let’s have a look at questions related to
Web Scraping
Q119. How To Save An Image Locally Using Python Whose URL Address I Already
Know?
Ans:We will use the following code to save an image locally from an URL address
import [Link]
[Link]("URL", "local-fi[Link]")
Q120. How can you Get the Google cache age of any URL or web page?
Be sure to replace “URLGOESHERE” with the proper web address of the page or site
whose cache you want to retrieve and see the time for. For example, to check the
Google Webcache age of [Link] you’d use the following URL:
[Link]
Q121. You are required to scrap data from IMDb top 250 movies page. It should only
have fields movie name, year, and rating.
import requests
import sys
url = '[Link]
response = [Link](url)
soup = BeautifulSoup([Link])
tr = soup.findChildren("tr")
tr = iter(tr)
next(tr)
row = title + ' - ' + year + ' ' + ' ' + rating
print(row)
The above code will help scrap data from IMDb’s top 250 list
Next, as part of the Python Interview Questions, lets explore some Data Analysis
questions
Ans:map function executes the function given as the first argument on all the elements
of the iterable given as the second argument. If the function given takes in more than 1
arguments, then many iterables are given. #Follow the link to know more similar
functions.
Ans:We use python numpy array instead of a list because of the below three reasons:
Less Memory
Fast
Convenient
For more information on these parameters, you can refer to this section – Numpy Vs
List.
Ans:We can get the indices of N maximum values in a NumPy array using the below
code:
import numpy as np
arr = [Link]([1, 3, 2, 4, 5])
print([Link]()[-3:][::-1])
Output
[431]
import numpy as np
a = [Link]([1,2,3,4,5])
print(p)
Output:3
Ans:
NumPy SciPy
It has fewer new scientific computing Most new scientific computing features
features. belong in SciPy.
Ans:Like 2D plotting, 3D graphics is beyond the scope of NumPy and SciPy, but just as
in the 2D case, packages exist that integrate with NumPy. Matplotlib provides basic 3D
plotting in the mplot3d subpackage, whereas Mayavi provides a wide range of high-
quality 3D visualization features, utilizing the powerful VTK engine.
Now lets explore some multiple choice quesions as part of this Python Interview
Questions.
a) d = {}
b) d = {“john”:40, “peter”:45}
c) d = {40:”john”, 45:”peter”}
d) d = (40:”john”, 45:”50”)
Answer: b, c & d.
a) /
b) //
c) %
d) None of the mentioned
Answer: b) //
When both of the operands are integer then python chops out the fraction part and gives
you the round o value, to get the accurate answer use floor division. For ex, 5/2 = 2.5
but both of the operands are integer so answer of this expression in python is 2. To get
the 2.5 as the answer, use floor division using //. So, 5//2 = 2.5
a) 31 characters
b) 63 characters
c) 79 characters
d) None of the above
Q131. Why are local variable names beginning with an underscore discouraged?
a) they are used to indicate a private variables of a class
b) they confuse the interpreter
c) they are used to indicate global variables
d) they slow down execution
As Python has no concept of private variables, leading underscores are used to indicate
variables that must not be accessed from outside the class.
a) abc = 1,000,000
b) a b c = 1000 2000 3000
c) a,b,c = 1000, 2000, 3000
d) a_b_c = 1,000,000
try:
if '1' != 1:
raise "someError"
else:
except "someError":
A new exception class must inherit from a BaseException. There is no such inheritance
here.
Q134. Suppose list1 is [2, 33, 222, 14, 25], What is list1[-1] ?
a) Error
b) None
c) 25
d) 2
Answer: c) 25
Answer: b) The location contains double slashes ( ) and w is used to indicate that file is
being written to.
f = None
if (i &amp;gt; 2):
break
print [Link]
a) True
b) False
c) None
d) Error
Answer: a) True
The WITH statement when used with open file guarantees that the file object is closed
when the with block exits.
a) always
b) when an exception occurs
c) when no exception occurs
d) when an exception occurs into except block
I hope this set of Python Interview Questions will help you in preparing for your
interviews. All the best!