Monday, June 24, 2024
HomeEducationPython Interview Questions and Answers in 2022

Python Interview Questions and Answers in 2022

Python Interview Questions

Interviewing for Python can be quite intimidating. If you are appearing for a technical round of interviews for Python, here’s a list of the top 120+ python interview questions with answers to help you prepare. The first set of questions and answers are curated for freshers while the second set is designed for advanced users. These questions cover all the basic applications of Python and will showcase your expertise in the subject. The python interview questions are divided into groups such as basic, intermediate, and advanced questions. 

  1. Python Basic Interview Questions
  2. Python Interview Questions for Experienced Professionals
  3. Python Interview Questions for Advanced Levels
  4. Python OOPS Interview Questions
  5. Python Programming Interview Questions
  6. Python Interview Related FAQs
421

2 / 10

2. In the below-displayed image of a code snippet, what does the output indicate?
numbers = np.array([[5,8,3],[3,1,2],[5,7,8]])
print(“Which row and column?”,numbers[1][2])

Your score is

The average score is 42%

Our Most Popular Courses:


Here is a video which talks about the Python Interview Questions and Answers in detail:

[embedded content]

Python Basic Interview Questions

Why Python?

Python is a high-level, general-purpose programming language. Python is a programming language that may be used to create desktop GUI apps, websites, and online applications. Python, as a high-level programming language, also allows you to concentrate on the application’s essential functionality while it handles routine programming duties. The basic grammar limitations of the programming language make it considerably easier to maintain the code base intelligible and the application manageable.

What are the applications of Python?

Python is notable for its general-purpose character, which allows it to be used in practically any software development sector. Python may be found in almost every new field. It is the most popular programming language and may be used to create any application.

1) Web Applications

We can use Python to develop web applications. It contains HTML and XML libraries, JSON libraries, email processing libraries, request libraries, beautifulSoup libraries, Feedparser libraries, and other internet protocols. Instagram use Django, a Python web framework.

2) Desktop GUI Applications

The Graphical User Interface (GUI) is a user interface that allows for easy interaction with any programme. Python contains the Tk GUI framework for creating user interfaces.

3) Console-based Application

The command-line or shell is used to execute console-based programmes. These are computer programmes that are used to carry out orders. This type of programme was more common in the previous generation of computers. It is well-known for its REPL, or Read-Eval-Print Loop, which makes it ideal for command-line applications.

Python has a number of free libraries and modules that help in the creation of command-line applications. To read and write, the appropriate IO libraries are utilised. It has capabilities for processing parameters and generating console help text built-in. There are additional advanced libraries that may be used to create standalone console applications.

4) Software Development

Python is useful for the software development process. It’s a support language that may be used to establish control and management, testing, and other things.

  • SCons is used to build control.
  • Continuous compilation and testing are automated using Buildbot and Apache Gumps.

5) Scientific and Numeric

This is the time of artificial intelligence, in which a machine can execute tasks as well as a person can. Python is an excellent programming language for artificial intelligence and machine learning applications. It has a number of scientific and mathematical libraries that make doing difficult computations simple.

Putting machine learning algorithms into practise requires a lot of arithmetic. Numpy, Pandas, Scipy, Scikit-learn, and other scientific and numerical Python libraries are available. If you know how to use Python, you’ll be able to import libraries on top of the code. A few prominent machine library frameworks are listed below.

SciPy

Scikit-learn

NumPy

Pandas

Matplotlib

6) Business Applications

Standard apps are not the same as business applications. This type of programme necessitates a lot of scalability and readability, which Python gives.

Oddo is a Python-based all-in-one application that offers a wide range of business applications. The commercial application is built on the Tryton platform, which is provided by Python.

7) Audio or Video-based Applications

Python is a versatile programming language that may be used to construct multimedia applications. TimPlayer, cplay, and other multimedia programmes written in Python are examples.

8) 3D CAD Applications

Engineering-related architecture is designed using CAD (Computer-aided design). It’s used to create a three-dimensional visualization of a system component. The following features in Python can be used to develop a 3D CAD application.

Fandango (Popular)

CAMVOX

HeeksCNC

AnyCAD

RCAM

9) Enterprise Applications

Python may be used to develop apps for usage within a business or organisation. OpenERP, Tryton, Picalo all these real-time applications are examples. 

10) Image Processing Application

Python has a lot of libraries for working with pictures. The picture can be altered to our specifications. OpenCV, Pillow, and SimpleITK are all image processing libraries present in python. In this topic, we’ve covered a wide range of applications in which Python plays a critical part in their development. We’ll study more about Python principles in the upcoming tutorial.

What are the advantages of Python?

Python is a general-purpose dynamic programming language that is high-level and interpreted. Its architectural framework prioritises code readability and utilises indentation extensively.

  • Third-party modules are present.
  • Several support libraries are available (NumPy for numerical calculations, Pandas for data analytics etc)
  • Community development and open source
  • Adaptable, simple to read, learn, and write
  • Data structures that are pretty easy to work on
  • High-level language
  • Language that is dynamically typed (No need to mention data type based on the value assigned, it takes data type)
  • Object-oriented programming language
  • Interactive and transportable
  • Ideal for prototypes since it allows you to add additional features with minimal code.
  • Highly Effective
  • Internet of Things (IoT) Possibilities
  • Portable Interpreted Language across Operating Systems
  • Since it is an interpreted language it executes any code line by line and throws an error if it finds something missing.
  • Python is free to use and has a large open-source community.
  • Python has a lot of support for libraries that provide numerous functions for doing any task at hand.
  • One of the best features of Python is it’s portability: it can and does run on any platform without having to change the requirements.
  • Provides a lot of functionality in lesser lines of code compared to other programming languages like Java, C++ etc.

Python is an interpreted language explain?

  • Meaning of interpreted here is irrespective of the programming language that you use for coding if it is an interpreted language machine will execute each code line by line. Programs that are mostly written in python are mostly written from source code without any intermediate compilation process or steps.

What do you mean by Python literals?

A literal is a simple and direct form of expressing a value. Literals reflect the primitive type options available in that language. Integers, floating point numbers, Booleans, and character strings are some of the most common forms of literals. The following literals are supported by Python:

Literals in Python relate to the data that is kept in a variable or constant. There are several types of literals present in Python

String Literals: It’s a sequence of characters wrapped in a set of codes. Depending on the number of quotations used, there can be single, double, or triple strings. Single characters enclosed by single or double quotations are known as character literals.

Numeric Literals: These are unchangeable numbers that may be divided into three types: integer, float, and complex.

Boolean Literals: True or False, which signify ‘1’ and ‘0,’ respectively, can be assigned to them.

Special Literals: It’s used to categorise fields that have not been generated. ‘None’ is the value that is used to represent it.

String literals   :   “halo” , ‘12345’

Int literals   :   0,1,2,-1,-2

Long literals   :   89675L

Float literals   :   3.14

Complex literals   :   12j

Boolean literals   :   True or False

Special literals   :   None

Unicode literals   :   u”hello”

List literals   :   [], [5, 6, 7]

Tuple literals   :   (), (9,), (8, 9, 0)

Dict literals   :   {}, {‘x’:1}

Set literals   :   {8, 9, 10}

What type of language is python?

Python is an interpreted, interactive, object-oriented programming language. Classes, modules, exceptions, dynamic typing, and extremely high-level dynamic data types are all present.

Python is an interpreted language with dynamic typing. Because the code is not converted to a binary form, these languages are sometimes referred to as “scripting” languages. While I say dynamically typed, I’m referring to the fact that types don’t have to be stated when coding; the interpreter finds them out at runtime.

The readability of Python’s concise, easy-to-learn syntax is prioritised, lowering software maintenance costs. Python provides modules and packages, allowing for programme modularity and code reuse. The Python interpreter and its comprehensive standard library are free to download and distribute in source or binary form for all major platforms.

How is Python an interpreted language?

An interpreter takes your code and executes (does) the actions you provide, produces the variables you specify, and performs a lot of behind-the-scenes work to ensure it works smoothly or warns you about issues.

Python is not an interpreted or compiled language. The implementation’s attribute is whether it is interpreted or compiled. Python is a bytecode (a collection of interpreter-readable instructions) that may be interpreted in a variety of ways.

The source code is saved in an .py file.

Python generates a set of instructions for a virtual machine from the source code. This intermediate format is known as “bytecode,” and it is created by compiling.py source code into .pyc, which is bytecode. This bytecode can then be interpreted by the standard CPython interpreter or PyPy’s JIT (Just in Time compiler).

Python is known as an interpreted language because it uses an interpreter to convert the code you write into a language that your computer’s processor can understand. You will later download and utilise the Python interpreter to be able to create Python code and execute it on your own computer when working on a project.

What is pep 8?

PEP 8, often known as PEP8 or PEP-8, is a document that outlines best practices and recommendations for writing Python code. It was written in 2001 by Guido van Rossum, Barry Warsaw, and Nick Coghlan. The main goal of PEP 8 is to make Python code more readable and consistent.

Python Enhancement Proposal (PEP) is an acronym for Python Enhancement Proposal, and there are numerous of them. A Python Enhancement Proposal (PEP) is a document that explains new features suggested for Python and details elements of Python for the community, such as design and style.

What is namespace in Python?

In Python, a namespace is a system that assigns a unique name to each and every object. A variable or a method might be considered an object. Python has its own namespace, which is kept in the form of a Python dictionary. Let’s look at a directory-file system structure in a computer as an example. It should go without saying that a file with the same name might be found in numerous folders. However, by supplying the absolute path of the file, one may be routed to it if desired.

A namespace is essentially a technique for ensuring that all of the names in a programme are distinct and may be used interchangeably. You may already be aware that everything in Python is an object, including strings, lists, functions, and so on. Another notable thing is that Python uses dictionaries to implement namespaces. A name-to-object mapping exists, with the names serving as keys and the objects serving as values. The same name can be used by many namespaces, each mapping it to a distinct object. Here are a few namespace examples:

Local Namespace: This namespace stores the local names of functions. This namespace is created when a function is invoked and only lives till the function returns.

Global Namespace: Names from various imported modules that you are utilising in a project are stored in this namespace. It’s formed when the module is added to the project and lasts till the script is completed.

Built-in Namespace: This namespace contains the names of built-in functions and exceptions.

What is PYTHON PATH?

PYTHONPATH is an environment variable that allows the user to add additional folders to the sys.path directory list for Python. In a nutshell, it is an environment variable that is set before the start of the Python interpreter.

What are python modules?

A Python module is a collection of Python commands and definitions in a single file. In a module, you may specify functions, classes, and variables. A module can also include executable code. When code is organised into modules, it is easier to understand and use. It also logically organises the code.

What are local variables and global variables in Python?

Local variables are declared inside a function and have a scope that is confined to that function alone, whereas global variables are defined outside of any function and have a global scope. To put it another way, local variables are only available within the function in which they were created, but global variables are accessible across the programme and throughout each function.

Local Variables

Local variables are variables that are created within a function and are exclusive to that function. Outside of the function, it can’t be accessed.

Global Variables

Global variables are variables that are defined outside of any function and are available throughout the programme, that is, both inside and outside of each function.

Explain what Flask is and its benefits?

Flask is an open-source web framework. Flask is a set of tools, frameworks, and technologies for building online applications. A web page, a wiki, a huge web-based calendar software, or a commercial website is used to build this web app. Flask is a micro-framework, which means it doesn’t rely on other libraries too much.

The flask’s benefit

There are several compelling reasons to utilise flask as a web application framework. Like-

  • Unit testing support that is incorporated
  • There’s a built-in development server as well as a rapid debugger.
  • Restful request dispatch with a Unicode basis
  • The use of cookies is permitted.
  • Templating WSGI 1.0 compatible jinja2
  • Additionally, the flask gives you complete control over the progress of your project.
  • HTTP request processing function
  • Flask is a lightweight and versatile web framework that can be easily integrated with a few extensions.
  • You may use your favourite device to connect. The main API for ORM Basic is well-designed and organised.
  • Extremely adaptable
  • In terms of manufacturing, the flask is easy to use.

Is Django better than Flask?

Django is more popular because it has plenty of functionality out of the box, making complicated applications easier to build. Django is best suited for larger projects with a lot of features. The features may be overkill for lesser applications.

If you’re new to web programming, Flask is a fantastic place to start. Many websites are built with Flask and receive a lot of traffic, although not as much as Django-based websites. If you want precise control, you should use flask, whereas a Django developer relies on a large community to produce unique websites.

Mention the differences between Django, Pyramid, and Flask.

Flask is a “micro framework” designed for smaller applications with less requirements. Pyramid and Django are both geared at larger projects, but they approach extension and flexibility in different ways. 

Pyramid is designed to be flexible, allowing the developer to use the best tools for their project. This means that the developer may choose the database, URL structure, templating style, and other options. Django aspires to include all of the batteries that a web application would require, so programmers simply need to open the box and start working, bringing in Django’s many components as they go.

Django includes an ORM by default, but Pyramid and Flask provide the developer control over how (and whether) their data is stored. SQLAlchemy is the most popular ORM for non-Django web apps, but there are lots of alternative options, ranging from DynamoDB and MongoDB to simple local persistence like LevelDB or regular SQLite. Pyramid is designed to work with any sort of persistence layer, even those that have yet to be conceived.

                Django                 Pyramid                   Flask
It is a python framework. It is the same as Django It is a micro-framework.
It is used to build large applications. It is the same as Django It is used to create a small application.
It includes an ORM. It provides flexibility and the right tools. It does not require external libraries.

Discuss Django architecture

Django has an MVC (Model-View-Controller) architecture, which is divided into three parts:

Model 

The Model, which is represented by a database, is the logical data structure that underpins the whole programme (generally relational databases such as MySql, Postgres).

View 

The View is the user interface, or what you see when you visit a website in your browser. HTML/CSS/Javascript files are used to represent them.

Controller

The Controller is the link between the view and the model, and it is responsible for transferring data from the model to the view.

Your application will revolve around the model using MVC, either displaying or altering it.

 Explain Scope in Python ?

Think of scope as the father of a family; every object works within a scope. A formal definition would be this is a block of code under which no matter how many objects you declare they remain relevant. A few examples of the same is given below:

  1. Local Scope : When you create a variable inside a function belongs to the local scope of that function itself and it will only be used inside that function.

Example :   

  1. Global Scope: When a variable is created inside the main body of python code, it is called the global scope. The best part about global scope is they are accessible within any part of the python code from any scope be it global or local.

Example :

  1. Nested Function : This is also known as function inside function, as stated in the example above in local scope variable y is not available outside the function but within any function inside another function.

Example :

  1. Module Level Scope: This essentially refers to the global objects of the current module accessible within the program.
  2. Outermost Scope : This is a reference to all the built-in names that you can call in the program.

List the common built-in datatypes in Python?

Given below are the most commonly used built-in datatypes :

Numbers : Consists of integers, floating point numbers, complex numbers. 

Example :

List : We have already seen a bit about lists, to put a formal definition a list is an ordered sequence of items that are mutable, also the elements inside lists can belong to different data types.

Example :

Tuples :  This too is an ordered sequence of elements but unlike lists tuples are immutable meaning it cannot be changed once declared.

Example : 

String :  This is called the sequence of characters declared within single or double quotes.

Example :

Sets : Sets are basically collections of unique items where order is not uniform.

Example:

Dictionary : A dictionary always stores values in key and value pairs where each value can be accessed by its particular key.

Example : 

Boolean : There are only two boolean values : True and False

Explain all the keywords in Python?

Keywords are reserved words that convey some special meaning, they cannot be used for variable or function names. There are 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

1. What are the key features of Python?

Python is one of the most popular programming languages used by data scientists and AIML professionals. This popularity is due to the following key features of Python:

  • Python is easy to learn due to its clear syntax and readability
  • Python is easy to interpret, making debugging easy
  • Python is free and Open-source
  • It can be used across different languages
  • It is an object-oriented language which supports concepts of classes
  • It can be easily integrated with other languages like C++, Java and more

2. What are Keywords in Python?

Keywords in Python are reserved words which are used as identifiers, function name or variable name. They help define the structure and syntax of the language. 

There are a total of 33 keywords in Python 3.7 which can change in the next version, i.e., Python 3.8. A list of all the keywords is provided below:

Keywords in Python

False class finally is return
None continue for lambda try
True def from nonlocal while
and del global not with
as elif if or yield
assert else import pass
break except

3. What are Literals in Python and explain about different Literals?

Literals in Python refer to the data that is given in a variable or constant. Python has various kinds of literals including:

  1. String Literals: It is a sequence of characters enclosed in codes. There can be single, double and triple strings based on the number of quotes used. Character literals are single characters surrounded by single or double-quotes. 
  2. Numeric Literals: These are unchangeable kind and belong to three different types – integer, float and complex.
  3. Boolean Literals: They can have either of the two values- True or False which represents ‘1’ and ‘0’ respectively. 
  4. Special Literals: Special literals are sued to classify fields that are not created. It is represented by the value ‘none’.

4. How can you concatenate two tuples?

Solution ->

Let’s say we have two tuples like this ->

tup1 = (1,”a”,True)

tup2 = (4,5,6)

Concatenation of tuples means that we are adding the elements of one tuple at the end of another tuple.

Now, let’s go ahead and concatenate tuple2 with tuple1:

Code

tup1=(1,"a",True)
tup2=(4,5,6)
tup1+tup2

Output

All you have to do is, use the ‘+’ operator between the two tuples and you’ll get the concatenated result.

Similarly, let’s concatenate tuple1 with tuple2:

Code

tup1=(1,"a",True)
tup2=(4,5,6)
tup2+tup1

Output

Before we deep dive further, if you are keen to explore a career in Python, do check out our free certificate course on Python Interview prep. This course will not only help you cover all the key concepts of Python but will also earn you a certificate that’s sure to offer you a competitive advantage.

5. What are functions in Python?

Ans: Functions in Python refer to blocks that have organized, and reusable codes to perform single, and related events. Functions are important to create better modularity for applications which reuse high degree of coding. Python has a number of built-in functions like print(). However, it also allows you to create user-defined functions.

6. How to Install Python?

To Install Python, first go to Anaconda.org and click on “Download Anaconda”. Here, you can download the latest version of Python. After Python is installed, it is a pretty straightforward process. The next step is to power up an IDE and start coding in Python. If you wish to learn more about the process, check out this Python Tutorial.

7. What is Python Used For?

Python is one of the most popular programming languages in the world today. Whether you’re browsing through Google, scrolling through Instagram, watching videos on YouTube, or listening to music on Spotify, all of these applications make use of Python for their key programming requirements. Python is used across various platforms, applications, and services such as web development.

8. How can you initialize a 5*5 numpy array with only zeroes?

Solution ->

We will be using the .zeros() method

import numpy as np
n1=np.zeros((5,5))
n1

Use np.zeros() and pass in the dimensions inside it. Since, we want a 5*5 matrix, we will pass (5,5) inside the .zeros() method.

This will be the output:

9. What is Pandas?

Pandas is an open source python library which has a very rich set of data structures for data based operations. Pandas with it’s cool features fits in every role of data operation, whether it be academics or solving complex business problems. Pandas can deal with a large variety of files and is one of the most important tools to have a grip on.

10. What are dataframes?

A pandas dataframe is a data structure in pandas which is mutable. Pandas has support for heterogeneous data which is arranged across two axes.( rows and columns).

Reading files into pandas:-

Import pandas as pd
df=p.read_csv(“mydata.csv”)

Here df is a pandas data frame. read_csv() is used to read a comma delimited file as a dataframe in pandas.

11. What is a Pandas Series?

Series is a one dimensional pandas data structure which can data of almost any type. It resembles an excel column. It supports multiple operations and is used for single dimensional data operations.

Creating a series from data:

Code

import pandas as pd
data=["1",2,"three",4.0]
series=pd.Series(data)
print(series)
print(type(series))

Output

12. What is pandas groupby?

A pandas groupby is a feature supported by pandas which is used to split and group an object.  Like the sql/mysql/oracle groupby it used to group data by classes, entities which can be further used for aggregation. A dataframe can be grouped by one or more columns.

Code

df = pd.DataFrame({'Vehicle':['Etios','Lamborghini','Apache200','Pulsar200'], 'Type':["car","car","motorcycle","motorcycle"]})
df

Output

To perform groupby type the following code:

df.groupby('Type').count()

Output

13. How to create a dataframe from lists?

To create a dataframe from lists ,

1)create an empty dataframe

2)add lists as individuals columns to the list

Code

df=pd.DataFrame()
bikes=["bajaj","tvs","herohonda","kawasaki","bmw"]
cars=["lamborghini","masserati","ferrari","hyundai","ford"]
df["cars"]=cars
df["bikes"]=bikes
df

Output

14. How to create data frame from a dictionary?

A dictionary can be directly passed as an argument to the DataFrame() function to create the data frame.

Code

import pandas as pd
bikes=["bajaj","tvs","herohonda","kawasaki","bmw"]
cars=["lamborghini","masserati","ferrari","hyundai","ford"]
d={"cars":cars,"bikes":bikes}
df=pd.DataFrame(d)
df

Output

15. How to combine dataframes in pandas?

Two different data frames can be stacked either horizontally or vertically by the concat(), append() and join() functions in pandas.

Concat works best when the dataframes have the same columns and can be used for concatenation of data having similar fields and is basically vertical stacking of dataframes into a single dataframe.

Append() is used for horizontal stacking of dataframes. If two tables(dataframes) are to be merged together then this is the best concatenation function.

Join is used when we need to extract data from different dataframes which are having one or more common columns. The stacking is horizontal in this case.

Before going through the questions, here’s a quick video to help you refresh your memory on Python. 

[embedded content]

16. What kind of joins does pandas offer?

Pandas has a left join, inner join, right join and an outer join.

17. How to merge dataframes in pandas?

Merging depends on the type and fields of different dataframes being merged. If data is having similar fields data is merged along axis 0 else they are merged along axis 1.

18. Give the below dataframe drop all rows having Nan.

The dropna function can be used to do that.

df.dropna(inplace=True)
df

Output

19. How to access the first five entries of a dataframe?

By using the head(5) function we can get the top five entries of a dataframe. By default df.head() returns the top 5 rows. To get the top n rows df.head(n) will be used.

20. How to access the last five entries of a dataframe?

By using tail(5) function we can get the top five entries of a dataframe. By default df.tail() returns the top 5 rows. To get the last n rows df.tail(n) will be used.

21. How to fetch a data entry from a pandas dataframe using a given value in index?

To fetch a row from dataframe given index x, we can use loc.

Df.loc[10] where 10 is the value of the index.

Code

import pandas as pd
bikes=["bajaj","tvs","herohonda","kawasaki","bmw"]
cars=["lamborghini","masserati","ferrari","hyundai","ford"]
d={"cars":cars,"bikes":bikes}
df=pd.DataFrame(d)
a=[10,20,30,40,50]
df.index=a
df.loc[10]

Output

Our Most Popular Courses:


22. What are comments and how can you add comments in Python?

Comments in Python refer to a piece of text intended for information. It is especially relevant when more than one person works on a set of codes. It can be used to analyse code, leave feedback, and debug it. There are two types of comments which includes:

  1. Single-line comment
  2. Multiple-line comment

Codes needed for adding comment

#Note –single line comment
“””Note
Note
Note”””—–multiline comment

23. What is the difference between list and tuples in Python?

List and tuple are data structures in Python that may store one or more objects or values. Using square brackets, you may build a list to hold numerous objects in one variable. Tuples, like arrays, may hold numerous items in a single variable and are defined with parenthesis.

                                Lists                               Tuples
Lists are mutable. Tuples are immutable.
Impacts of iterations are Time Consuming. Iterations have the effect of making things go faster.
The list is more convenient for actions like insertion and deletion. The items may be accessed using the tuple data type.
Lists take up more memory. When compared to a list, a tuple uses less memory.
There are numerous techniques built into lists. There aren’t many built-in methods in Tuple.
Changes and faults that are unexpected are more likely to occur. It is difficult to take place in a tuple.
They consume a lot of memory given the nature of this data structure They consume less memory
Syntax : Syntax :

24. What is dictionary in Python? Give an example.

A Python dictionary is a collection of items in no particular order. Python dictionaries are written in curly brackets with keys and values. Dictionaries are optimised to retrieve value for known keys.

Example

d={“a”:1,”b”:2}

25. Find out the mean, median and standard deviation of this numpy array -> np.array([1,5,3,100,4,48])

import numpy as np
n1=np.array([10,20,30,40,50,60])
print(np.mean(n1))
print(np.median(n1))
print(np.std(n1))

26. What is a classifier?

A classifier is used to predict the class of any data point. Classifiers are special hypotheses that are used to assign class labels to any particular data points. A classifier often uses training data to understand the relation between input variables and the class. Classification is a method used in supervised learning in Machine Learning.

27. In Python how do you convert a string into lowercase?

All the upper cases in a string can be converted into lowercase by using the method: string.lower()

ex: string = ‘GREATLEARNING’ print(string.lower())
o/p: greatlearning

28. How do you get a list of all the keys in a dictionary?

One of the ways we can get a list of keys is by using: dict.keys()
This method returns all the available keys in the dictionary. dict = {1:a, 2:b, 3:c} dict.keys()
o/p: [1, 2, 3]

29. How can you capitalize the first letter of a string?

We can use the capitalize() function to capitalize the first character of a string. If the first character is already in capital then it returns the original string.

Syntax: string_name.capitalize() ex: n = “greatlearning” print(n.capitalize())
o/p: Greatlearning

30. How can you insert an element at a given index in Python?

Python has an inbuilt function called the insert() function.
It can be used used to insert an element at a given index.
Syntax: list_name.insert(index, element)
ex: list = [ 0,1, 2, 3, 4, 5, 6, 7 ]
#insert 10 at 6th index
list.insert(6, 10)
o/p: [0,1,2,3,4,5,10,6,7]

31. How will you remove duplicate elements from a list?

There are various methods to remove duplicate elements from a list. But, the most common one is, converting the list into a set by using the set() function and using the list() function to convert it back to a list, if required. ex: list0 = [2, 6, 4, 7, 4, 6, 7, 2]
list1 = list(set(list0)) print (“The list without duplicates : ” + str(list1))

o/p: The list without duplicates : [2, 4, 6, 7]

32. What is recursion?

Recursion is a function calling itself one or more times in it body. One very important condition a recursive function should have to be used in a program is, it should terminate, else there would be a problem of an infinite loop.

33. Explain Python List Comprehension

List comprehensions are used for transforming one list into another list. Elements can be conditionally included in the new list and each element can be transformed as needed. It consists of an expression leading a for clause, enclosed in brackets. for ex: list = [i for i in range(1000)]
print list

34. What is the bytes() function?

The bytes() function returns a bytes object. It is used to convert objects into bytes objects, or create empty bytes object of the specified size.

35. What are the different types of operators in Python?

Python has the following basic operators:
Arithmetic( Addition(+), Substraction(-), Multiplication(*), Division(/), Modulus(%) ), Relational ( <, >, <=, >=, ==, !=, ),
Assignment ( =. +=, -=, /=, *=, %= ),
Logical ( and, or not ), Membership, Identity, and Bitwise Operators

36. What is the ‘with statement’?

“with” statement in python is used in exception handling. A file can be opened and closed while executing a block of code, containing the “with” statement., without using the close() function. It essentially makes the code much more easy to read.

37. What is a map() function in Python?

The map() function in Python is used for applying a function on all elements of a specified iterable. It consists of two parameters, function and iterable. The function is taken as an argument and then applied to all the elements of an iterable(passed as the second argument). An object list is returned as a result.

def add(n):
return n + n number= (15, 25, 35, 45)
res= map(add, num)
print(list(res))

o/p: 30,50,70,90

38. What is __init__ in Python?

_init_ methodology is a reserved method in Python aka constructor in OOP. When an object is created from a class and _init_ methodolgy is called to acess the class attributes.

39. What are the tools present to perform statics analysis?

The two static analysis tool used to find bugs in Python are: Pychecker and Pylint. Pychecker detects bugs from the source code and warns about its style and complexity.While, Pylint checks whether the module matches upto a coding standard.

40. What is the difference between tuple and dictionary?

One major difference between a tuple and a dictionary is that dictionary is mutable while a tuple is not. Meaning the content of a dictionary can be changed without changing it’s identity, but in tuple that’s not possible.

41. What is pass in Python?

Pass is a statentemen which does nothing when executed. In other words it is a Null statement. This statement is not ignored by the interpreter, but the statement results in no operation. It is used when you do not want any command to execute but a statement is required.

42. How can an object be copied in Python?

Not all objects can be copied in Python, but most can. We ca use the “=” operator to copy an obect to a variable.

ex: var=copy.copy(obj)

43. How can a number be converted to a string?

The inbuilt function str() can be used to convert a nuber to a string.

44. What are module and package in Python?

Modules are the way to structure a program. Each Python program file is a module, importing other attributes and objects. The folder of a program is a package of modules. A package can have modules or subfolders.

45. What is object() function in Python?

In Python the object() function returns an empty object. New properties or methods cannot be added to this object.

46. What is the difference between NumPy and SciPy?

NumPy stands for Numerical Python while SciPy stands for Scientific Python. NumPy is the basic library for defining arrays and simple mathematica problems, while SciPy is used for more complex problems like numerical integration and optimization and machine learning and so on.

47. What does len() do?

len() is used to determine the length of a string, a list, an array, and so on. ex: str = “greatlearning”
print(len(str))
o/p: 13

48. Define encapsulation in Python?

Encapsulation means binding the code and the data together. A Python class for example.

49. What is the type () in Python?

type() is a built-in method which either returns the type of the object or returns a new type object based on the arguments passed.

ex: a = 100
type(a)

o/p: int

50. What is split() function used for?

Split fuction is used to split a string into shorter string using defined seperatos. letters = (” A, B, C”)
n = text.split(“,”)
print(n)

o/p: [‘A’, ‘B’, ‘C’ ]

51. What are the built-in types does python provide?

Ans. Python has following built-in data types:

Numbers: Python identifies three types of numbers:

  1. Integer: All positive and negative numbers without a fractional part
  2. Float: Any real number with floating-point representation
  3. Complex numbers: A number with a real and imaginary component represented as x+yj. x and y are floats and j is -1(square root of -1 called an imaginary number)

Boolean: The Boolean data type is a data type that has one of two possible values i.e. True or False. Note that ‘T’ and ‘F’ are capital letters.

String: A string value is a collection of one or more characters put in single, double or triple quotes.

List: A list object is an ordered collection of one or more data items which can be of different types, put in square brackets. A list is mutable and thus can be modified, we can add, edit or delete individual elements in a list.

Set: An unordered collection of unique objects enclosed in curly brackets

Frozen set: They are like a set but immutable, which means we cannot modify their values once they are created.

Dictionary: A dictionary object is unordered in which there is a key associated with each value and we can access each value through its key. A collection of such pairs is enclosed in curly brackets. For example {‘First Name’ : ’Tom’ , ’last name’ : ’Hardy’} Note that Number values, strings, and tuple are immutable while as List or Dictionary object are mutable.

52. What is docstring in Python?

Ans. Python docstrings are the string literals enclosed in triple quotes that appear right after the definition of a function, method, class, or module. These are generally used to describe the functionality of a particular function, method, class, or module. We can access these docstrings using the __doc__ attribute. Here is an example:

def square(n): '''Takes in a number n, returns the square of n''' return n**2
print(square.__doc__)
Ouput: Takes in a number n, returns the square of n.

53. How to Reverse a String in Python?

In Python, there are no in-built functions that help us reverse a string. We need to make use of an array slicing operation for the same.

str_reverse = string[::-1]

Learn more: How To Reverse a String In Python

54. How to check Python Version in CMD?

To check the Python Version in CMD, press CMD + Space. This opens Spotlight. Here, type “terminal” and press enter. To execute the command, type python –version or python -V and press enter. This will return the python version in the next line below the command.

55. Is Python case sensitive when dealing with identifiers?

Yes. Python is case sensitive when dealing with identifiers. It is a case sensitive language. Thus, variable and Variable would not be the same.

Python Interview Questions for Experienced Professionals

1. How to create a new column in pandas by using values from other columns?

We can perform column based mathematical operations on a pandas dataframe. Pandas columns containing numeric values can be operated upon by operators.

Code

import pandas as pd
a=[1,2,3]
b=[2,3,5]
d={"col1":a,"col2":b}
df=pd.DataFrame(d)
df["Sum"]=df["col1"]+df["col2"]
df["Difference"]=df["col1"]-df["col2"]
df

Output

pandas

2. What are the different functions that can be used by grouby in pandas ?

grouby() in pandas can be used with multiple aggregate functions. Some of which are sum(),mean(), count(),std().

Data is divided into groups based on categories and then the data in these individual groups can be aggregated by the aforementioned functions.

3. How to select columns in pandas and add them to a new dataframe? What if there are two columns with the same name?

If df is dataframe in pandas df.columns gives the list of all columns. We can then form new columns by selecting columns.

If there are two columns with the same name then both columns get copied to the new dataframe.

Code

print(d_new.columns)
d=d_new[["col1"]]
d

Output

output

4. How to delete a column or group of columns in pandas? Given the below dataframe drop column “col1”.

drop() function can be used to delete the columns from a dataframe. 

d={"col1":[1,2,3],"col2":["A","B","C"]}
df=pd.DataFrame(d)
df=df.drop(["col1"],axis=1)
df

Output

5. Given the following data frame drop rows having column values as A.

Code

d={"col1":[1,2,3],"col2":["A","B","C"]}
df=pd.DataFrame(d)
df.dropna(inplace=True)
df=df[df.col1!=1]
df

Output

6. Given the below dataset find the highest paid player in each college in each team.

df.groupby(["Team","College"])["Salary"].max()

7. Given the above dataset find the min max and average salary of a player collegewise and teamwise.

Code

df.groupby(["Team","College"])["Salary"].max.agg([('max','max'),('min','min'),('count','count'),('avg','min')])

Output

8. What is Reindexing in pandas?

Reindexing is the process of re-assigning the index of a pandas dataframe.

Code


import pandas as pd
bikes=["bajaj","tvs","herohonda","kawasaki","bmw"]
cars=["lamborghini","masserati","ferrari","hyundai","ford"]
d={"cars":cars,"bikes":bikes}
df=pd.DataFrame(d)
a=[10,20,30,40,50]
df.index=a
df

Output

9. What do you understand by lambda function? Create a lambda function which will print the sum of all the elements in this list -> [5, 8, 10, 20, 50, 100]

from functools import reduce
sequences = [5, 8, 10, 20, 50, 100]
sum = reduce (lambda x, y: x+y, sequences)
print(sum)

10. What is vstack() in numpy? Give an example

Ans. vstack() is a function to align rows vertically. All rows must have same number of elements.

Code

import numpy as np
n1=np.array([10,20,30,40,50])
n2=np.array([50,60,70,80,90])
print(np.vstack((n1,n2)))

Output

11. How do we interpret Python?

When a python program is written, it converts the source code written by the developer into intermediate language, which is then coverted into machine language that needs to be executed.

Our Most Popular Courses:


12. How to remove spaces from a string in Python?

Spaces can be removed from a string in python by using strip() or replace() functions. Strip() function is used to remove the leading and trailing white spaces while the replace() function is used to remove all the white spaces in the string:

string.replace(” “,””) ex1: str1= “great learning”
print (str.strip())

o/p: great learning

ex2: str2=”great learning”
print (str.replace(” “,””))

o/p: greatlearning

13. Explain the file processing modes that Python supports.

There are three file processing modes in Python: read-only(r), write-only(w), read-write(rw) and append (a). So, if you are opening a text file in say, read mode. The preceding modes become “rt” for read-only, “wt” for write and so on. Similarly, a binary file can be opened by specifying “b” along with the file accessing flags (“r”, “w”, “rw” and “a”) preceding it.

14. What is pickling and unpickling?

Pickling is the process of converting a Python object hierarchy into a byte stream for storing it into a database. It is also known as serialization. Unpickling is the reverse of pickling. The byte stream is converted back into an object hierarchy.

15. How is memory managed in Python?

Memory management in python comprises of a private heap containing all objects and data stucture. The heap is managed by the interpreter and the programmer does not have acess to it at all. The Python memory manger does all the memory allocation. Moreover, there is an inbuilt garbage collector that recycles and frees memory for the heap space.

16. What is unittest in Python?

Unittest is a unit testinf framework in Python. It supports sharing of setup and shutdown code for tests, aggregation of tests into collections,test automation, and independence of the tests from the reporting framework.

17. How do you delete a file in Python?

Files can be deleted in Python by using the command os.remove (filename) or os.unlink(filename)

18. How do you create an empty class in Python?

To create an empty class we can use the pass command after the definition of the class object. A pass is a statement in Python that does nothing.

19. What are Python decorators?

Ans. Decorators are functions that take another functions as argument to modify its behaviour without changing the function itself. These are useful when we want to dynamically increase the functionality of a function without changing it. Here is an example :

def smart_divide(func): def inner(a, b): print("Dividing", a, "by", b) if b == 0: print("Make sure Denominator is not zero") return
return func(a, b) return inner
@smart_divide
def divide(a, b): print(a/b)
divide(1,0)

Here smart_divide is a decorator function that is used to add functionality to simple divide function.

Take up a data science course and power ahead in your career today!

Python Interview Questions for Advanced Levels

1. You have this covid-19 dataset below:

From this dataset, how will you make a bar-plot for the top 5 states having maximum confirmed cases as of 17=07-2020?
sol:

#keeping only required columns df = df[[‘Date’, ‘State/UnionTerritory’,’Cured’,’Deaths’,’Confirmed’]] #renaming column names df.columns = [‘date’, ‘state’,’cured’,’deaths’,’confirmed’] #current date today = df[df.date == ‘2020-07-17’] #Sorting data w.r.t number of confirmed cases max_confirmed_cases=today.sort_values(by=”confirmed”,ascending=False) max_confirmed_cases #Getting states with maximum number of confirmed cases top_states_confirmed=max_confirmed_cases[0:5] #Making bar-plot for states with top confirmed cases sns.set(rc={‘figure.figsize’:(15,10)}) sns.barplot(x=”state”,y=”confirmed”,data=top_states_confirmed,hue=”state”) plt.show()

Code explanation:

We start off by taking only the required columns with this command:
df = df[[‘Date’, ‘State/UnionTerritory’,’Cured’,’Deaths’,’Confirmed’]]
Then, we go ahead and rename the columns:
df.columns = [‘date’, ‘state’,’cured’,’deaths’,’confirmed’]

After that, we extract only those records, where the date is equal to 17th July:
today = df[df.date == ‘2020-07-17’]
Then, we go ahead and select the top 5 states with maximum no. of covide cases:
max_confirmed_cases=today.sort_values(by=”confirmed”,ascending=False)
max_confirmed_cases
top_states_confirmed=max_confirmed_cases[0:5]

Finally, we go ahead and make a bar-plot with this:
sns.set(rc={‘figure.figsize’:(15,10)})
sns.barplot(x=”state”,y=”confirmed”,data=top_states_confirmed,hue=”state”)
plt.show()

Here, we are using seaborn library to make the bar-plot. “State” column is mapped onto the x-axis and “confirmed” column is mapped onto the y-axis. The color of the bars is being determined by the “state” column.

2. From this covid-19 dataset:

How can you make a bar-plot for the top-5 states with the most amount of deaths?

Sol:

max_death_cases=today.sort_values(by=”deaths”,ascending=False) max_death_cases sns.set(rc={‘figure.figsize’:(15,10)}) sns.barplot(x=”state”,y=”deaths”,data=top_states_death,hue=”state”) plt.show()

Code Explanation:

We start off by sorting our dataframe in descending order w.r.t the “deaths” column:

max_death_cases=today.sort_values(by=”deaths”,ascending=False)

Max_death_cases

Then, we go ahead and make the bar-plot with the help of seaborn library:

sns.set(rc={‘figure.figsize’:(15,10)})

sns.barplot(x=”state”,y=”deaths”,data=top_states_death,hue=”state”)

plt.show()

Here, we are mapping “state” column onto the x-axis and “deaths” column onto the y-axis.


3. From this covid-19 dataset:

How can you make a line plot indicating the confirmed cases with respect to date?

Sol:

maha = df[df.state == ‘Maharashtra’] sns.set(rc={‘figure.figsize’:(15,10)}) sns.lineplot(x=”date”,y=”confirmed”,data=maha,color=”g”) plt.show()

Code Explanation:

We start off by extracting all the records where the state is equal to “Maharashtra”:

maha = df[df.state == ‘Maharashtra’]

Then, we go ahead and make a line-plot using seaborn library:

sns.set(rc={‘figure.figsize’:(15,10)})

sns.lineplot(x=”date”,y=”confirmed”,data=maha,color=”g”)

plt.show()

Here, we map the “date” column onto the x-axis and “confirmed” column onto y-axis.


4. On this “Maharashtra” dataset:

How will you implement a linear regression algorithm with “date” as independent variable and “confirmed” as dependent variable. That is you have to predict the number of confirmed cases w.r.t date.

Sol:

from sklearn.model_selection import train_test_split maha[‘date’]=maha[‘date’].map(dt.datetime.toordinal) maha.head() x=maha[‘date’] y=maha[‘confirmed’] x_train,x_test,y_train,y_test=train_test_split(x,y,test_size=0.3) from sklearn.linear_model import LinearRegression lr = LinearRegression() lr.fit(np.array(x_train).reshape(-1,1),np.array(y_train).reshape(-1,1)) lr.predict(np.array([[737630]])) 

Code solution:

We will start off by converting the date to ordinal type:

from sklearn.model_selection import train_test_split

maha[‘date’]=maha[‘date’].map(dt.datetime.toordinal)

This is done because we cannot build the linear regression algorithm on top of the date column.

Then, we go ahead and divide the dataset into train and test sets:

x_train,x_test,y_train,y_test=train_test_split(x,y,test_size=0.3)

Finally, we go ahead and build the model:

from sklearn.linear_model import LinearRegression

lr = LinearRegression()

lr.fit(np.array(x_train).reshape(-1,1),np.array(y_train).reshape(-1,1))

lr.predict(np.array([[737630]]))

5. On this customer_churn dataset:

Build a keras sequential model to find out how many customers will churn out on the basis of tenure of customer?

Sol:

from keras.models import Sequential from keras.layers import Dense model = Sequential() model.add(Dense(12, input_dim=1, activation=’relu’)) model.add(Dense(8, activation=’relu’)) model.add(Dense(1, activation=’sigmoid’)) model.compile(loss=’binary_crossentropy’, optimizer=’adam’, metrics=[‘accuracy’]) model.fit(x_train, y_train, epochs=150,validation_data=(x_test,y_test)) y_pred = model.predict_classes(x_test) from sklearn.metrics import confusion_matrix confusion_matrix(y_test,y_pred)

Code explanation:

We will start off by importing the required libraries:

from keras.models import Sequential

from keras.layers import Dense

Then, we go ahead and build the structure of the sequential model:

model = Sequential()

model.add(Dense(12, input_dim=1, activation=’relu’))

model.add(Dense(8, activation=’relu’))

model.add(Dense(1, activation=’sigmoid’))

Finally, we will go ahead and predict the values:

model.compile(loss=’binary_crossentropy’, optimizer=’adam’, metrics=[‘accuracy’])

model.fit(x_train, y_train, epochs=150,validation_data=(x_test,y_test))

y_pred = model.predict_classes(x_test)

from sklearn.metrics import confusion_matrix

confusion_matrix(y_test,y_pred)


6. On this iris dataset:

Build a decision tree classification model, where dependent variable is “Species” and independent variable is “Sepal.Length”.

Sol:

y = iris[[‘Species’]] x = iris[[‘Sepal.Length’]] from sklearn.model_selection import train_test_split x_train,x_test,y_train,y_test=train_test_split(x,y,test_size=0.4) from sklearn.tree import DecisionTreeClassifier dtc = DecisionTreeClassifier() dtc.fit(x_train,y_train) y_pred=dtc.predict(x_test) from sklearn.metrics import confusion_matrix confusion_matrix(y_test,y_pred)

(22+7+9)/(22+2+0+7+7+11+1+1+9)

Code explanation:

We start off by extracting the independent variable and dependent variable:

y = iris[[‘Species’]]

x = iris[[‘Sepal.Length’]]

Then, we go ahead and divide the data into train and test set:

from sklearn.model_selection import train_test_split

x_train,x_test,y_train,y_test=train_test_split(x,y,test_size=0.4)

After that, we go ahead and build the model:

from sklearn.tree import DecisionTreeClassifier

dtc = DecisionTreeClassifier()

dtc.fit(x_train,y_train)

y_pred=dtc.predict(x_test)

Finally, we build the confusion matrix:

from sklearn.metrics import confusion_matrix

confusion_matrix(y_test,y_pred)

(22+7+9)/(22+2+0+7+7+11+1+1+9)

7. On this iris dataset:

Build a decision tree regression model where the independent variable is “petal length” and dependent variable is “Sepal length”.

Sol:

x= iris[[‘Petal.Length’]] y = iris[[‘Sepal.Length’]] x_train,x_test,y_train,y_test=train_test_split(x,y,test_size=0.25) from sklearn.tree import DecisionTreeRegressor dtr = DecisionTreeRegressor() dtr.fit(x_train,y_train) y_pred=dtr.predict(x_test) y_pred[0:5] from sklearn.metrics import mean_squared_error mean_squared_error(y_test,y_pred)

8. How will you scrape data from the website “cricbuzz”?

Sol:

import sys import time from bs4 import BeautifulSoup import requests import pandas as pd try: #use the browser to get the url. This is suspicious command that might blow up. page=requests.get(‘cricbuzz.com’) # this might throw an exception if something goes wrong. except Exception as e: # this describes what to do if an exception is thrown error_type, error_obj, error_info = sys.exc_info() # get the exception information print (‘ERROR FOR LINK:’,url) #print the link that cause the problem print (error_type, ‘Line:’, error_info.tb_lineno) #print error info and line that threw the exception #ignore this page. Abandon this and go back. time.sleep(2) soup=BeautifulSoup(page.text,’html.parser’) links=soup.find_all(‘span’,attrs={‘class’:’w_tle’}) links for i in links: print(i.text) print(“\n”)

9. Write a user-defined function to implement central-limit theorem. You have to implement central limit theorem on this “insurance” dataset:

You also have to build two plots on “Sampling Distribution of bmi” and “Population distribution of  bmi”.

Sol:

df = pd.read_csv(‘insurance.csv’) series1 = df.charges series1.dtype def central_limit_theorem(data,n_samples = 1000, sample_size = 500, min_value = 0, max_value = 1338): “”” Use this function to demonstrate Central Limit Theorem. data = 1D array, or a pd.Series n_samples = number of samples to be created sample_size = size of the individual sample min_value = minimum index of the data max_value = maximum index value of the data “”” %matplotlib inline import pandas as pd import numpy as np import matplotlib.pyplot as plt import seaborn as sns b = {} for i in range(n_samples): x = np.unique(np.random.randint(min_value, max_value, size = sample_size)) # set of random numbers with a specific size b[i] = data[x].mean() # Mean of each sample c = pd.DataFrame() c[‘sample’] = b.keys() # Sample number c[‘Mean’] = b.values() # mean of that particular sample plt.figure(figsize= (15,5)) plt.subplot(1,2,1) sns.distplot(c.Mean) plt.title(f”Sampling Distribution of bmi. \n \u03bc = {round(c.Mean.mean(), 3)} & SE = {round(c.Mean.std(),3)}”) plt.xlabel(‘data’) plt.ylabel(‘freq’) plt.subplot(1,2,2) sns.distplot(data) plt.title(f”population Distribution of bmi. \n \u03bc = {round(data.mean(), 3)} & \u03C3 = {round(data.std(),3)}”) plt.xlabel(‘data’) plt.ylabel(‘freq’) plt.show() central_limit_theorem(series1,n_samples = 5000, sample_size = 500)

Code Explanation:

We start off by importing the insurance.csv file with this command:

df = pd.read_csv(‘insurance.csv’)

Then we go ahead and define the central limit theorem method:

def central_limit_theorem(data,n_samples = 1000, sample_size = 500, min_value = 0, max_value = 1338):

This method comprises of these parameters:

  • Data
  • N_samples
  • Sample_size
  • Min_value
  • Max_value

Inside this method, we import all the required libraries:

    import pandas as pd

    import numpy as np

    import matplotlib.pyplot as plt

    import seaborn as sns

Then, we go ahead and create the first sub-plot for “Sampling distribution of bmi”:

  plt.subplot(1,2,1)

    sns.distplot(c.Mean)

    plt.title(f”Sampling Distribution of bmi. \n \u03bc = {round(c.Mean.mean(), 3)} & SE = {round(c.Mean.std(),3)}”)

    plt.xlabel(‘data’)

    plt.ylabel(‘freq’)

Finally, we create the sub-plot for “Population distribution of bmi”:

 plt.subplot(1,2,2)

    sns.distplot(data)

    plt.title(f”population Distribution of bmi. \n \u03bc = {round(data.mean(), 3)} & \u03C3 = {round(data.std(),3)}”)

    plt.xlabel(‘data’)

    plt.ylabel(‘freq’)

    plt.show()


10. Write code to perform sentiment analysis on amazon reviews:

Sol:

import pandas as pd import numpy as np import matplotlib.pyplot as plt from tensorflow.python.keras import models, layers, optimizers import tensorflow from tensorflow.keras.preprocessing.text import Tokenizer, text_to_word_sequence from tensorflow.keras.preprocessing.sequence import pad_sequences import bz2 from sklearn.metrics import f1_score, roc_auc_score, accuracy_score import re %matplotlib inline def get_labels_and_texts(file): labels = [] texts = [] for line in bz2.BZ2File(file): x = line.decode(“utf-8”) labels.append(int(x[9]) – 1) texts.append(x[10:].strip()) return np.array(labels), texts train_labels, train_texts = get_labels_and_texts(‘train.ft.txt.bz2’) test_labels, test_texts = get_labels_and_texts(‘test.ft.txt.bz2’) Train_labels[0] Train_texts[0] train_labels=train_labels[0:500] train_texts=train_texts[0:500] import re NON_ALPHANUM = re.compile(r'[\W]’) NON_ASCII = re.compile(r'[^a-z0-1\s]’) def normalize_texts(texts): normalized_texts = [] for text in texts: lower = text.lower() no_punctuation = NON_ALPHANUM.sub(r’ ‘, lower) no_non_ascii = NON_ASCII.sub(r”, no_punctuation) normalized_texts.append(no_non_ascii) return normalized_texts train_texts = normalize_texts(train_texts) test_texts = normalize_texts(test_texts) from sklearn.feature_extraction.text import CountVectorizer cv = CountVectorizer(binary=True) cv.fit(train_texts) X = cv.transform(train_texts) X_test = cv.transform(test_texts) from sklearn.linear_model import LogisticRegression from sklearn.metrics import accuracy_score from sklearn.model_selection import train_test_split X_train, X_val, y_train, y_val = train_test_split( X, train_labels, train_size = 0.75) for c in [0.01, 0.05, 0.25, 0.5, 1]: lr = LogisticRegression(C=c) lr.fit(X_train, y_train) print (“Accuracy for C=%s: %s” % (c, accuracy_score(y_val, lr.predict(X_val)))) lr.predict(X_test[29])

11. Implement a probability plot using numpy and matplotlib:

sol:

import numpy as np import pylab import scipy.stats as stats from matplotlib import pyplot as plt n1=np.random.normal(loc=0,scale=1,size=1000) np.percentile(n1,100) n1=np.random.normal(loc=20,scale=3,size=100) stats.probplot(n1,dist=”norm”,plot=pylab) plt.show()

12. Implement multiple linear regression on this iris dataset:

The independent variables should be “Sepal.Width”, “Petal.Length”, “Petal.Width”, while the dependent variable should be “Sepal.Length”.

Sol:

import pandas as pd iris = pd.read_csv(“iris.csv”) iris.head() x = iris[[‘Sepal.Width’,’Petal.Length’,’Petal.Width’]] y = iris[[‘Sepal.Length’]] from sklearn.model_selection import train_test_split x_train, x_test, y_train, y_test = train_test_split(x, y, test_size = 0.35) from sklearn.linear_model import LinearRegression lr = LinearRegression() lr.fit(x_train, y_train) y_pred = lr.predict(x_test) from sklearn.metrics import mean_squared_error mean_squared_error(y_test, y_pred)

Code solution:

We start off by importing the required libraries:

import pandas as pd

iris = pd.read_csv(“iris.csv”)

iris.head()

Then, we will go ahead and extract the independent variables and dependent variable:

x = iris[[‘Sepal.Width’,’Petal.Length’,’Petal.Width’]]

y = iris[[‘Sepal.Length’]]

Following which, we divide the data into train and test sets:

from sklearn.model_selection import train_test_split

x_train, x_test, y_train, y_test = train_test_split(x, y, test_size = 0.35)

Then, we go ahead and build the model:

from sklearn.linear_model import LinearRegression

lr = LinearRegression()

lr.fit(x_train, y_train)

y_pred = lr.predict(x_test)

Finally, we will find out the mean squared error:

from sklearn.metrics import mean_squared_error

mean_squared_error(y_test, y_pred)


13. From this credit fraud dataset:

Find the percentage of transactions which are fraudulent and not fraudulent. Also build a logistic regression model, to find out if the transaction is fraudulent or not.

Sol:

nfcount=0 notFraud=data_df[‘Class’] for i in range(len(notFraud)): if notFraud[i]==0: nfcount=nfcount+1 nfcount per_nf=(nfcount/len(notFraud))*100 print(‘percentage of total not fraud transaction in the dataset: ‘,per_nf) fcount=0 Fraud=data_df[‘Class’] for i in range(len(Fraud)): if Fraud[i]==1: fcount=fcount+1 fcount per_f=(fcount/len(Fraud))*100 print(‘percentage of total fraud transaction in the dataset: ‘,per_f) x=data_df.drop([‘Class’], axis = 1)#drop the target variable y=data_df[‘Class’] xtrain, xtest, ytrain, ytest = train_test_split(x, y, test_size = 0.2, random_state = 42) logisticreg = LogisticRegression() logisticreg.fit(xtrain, ytrain) y_pred = logisticreg.predict(xtest) accuracy= logisticreg.score(xtest,ytest) cm = metrics.confusion_matrix(ytest, y_pred) print(cm)

14.  Implement a simple CNN on the MNIST dataset using Keras. Following which, also add in drop out layers.

Sol:

from __future__ import absolute_import, division, print_function import numpy as np # import keras from tensorflow.keras.datasets import cifar10, mnist from tensorflow.keras.models import Sequential from tensorflow.keras.layers import Dense, Activation, Dropout, Flatten, Reshape from tensorflow.keras.layers import Convolution2D, MaxPooling2D from tensorflow.keras import utils import pickle from matplotlib import pyplot as plt import seaborn as sns plt.rcParams[‘figure.figsize’] = (15, 8) %matplotlib inline # Load/Prep the Data (x_train, y_train_num), (x_test, y_test_num) = mnist.load_data() x_train = x_train.reshape(x_train.shape[0], 28, 28, 1).astype(‘float32’) x_test = x_test.reshape(x_test.shape[0], 28, 28, 1).astype(‘float32’) x_train /= 255 x_test /= 255 y_train = utils.to_categorical(y_train_num, 10) y_test = utils.to_categorical(y_test_num, 10) print(‘— THE DATA —‘) print(‘x_train shape:’, x_train.shape) print(x_train.shape[0], ‘train samples’) print(x_test.shape[0], ‘test samples’) TRAIN = False BATCH_SIZE = 32 EPOCHS = 1 # Define the Type of Model model1 = tf.keras.Sequential() # Flatten Imgaes to Vector model1.add(Reshape((784,), input_shape=(28, 28, 1))) # Layer 1 model1.add(Dense(128, kernel_initializer=’he_normal’, use_bias=True)) model1.add(Activation(“relu”)) # Layer 2 model1.add(Dense(10, kernel_initializer=’he_normal’, use_bias=True)) model1.add(Activation(“softmax”)) # Loss and Optimizer model1.compile(loss=’categorical_crossentropy’, optimizer=’adam’, metrics=[‘accuracy’]) # Store Training Results early_stopping = keras.callbacks.EarlyStopping(monitor=’val_acc’, patience=10, verbose=1, mode=’auto’) callback_list = [early_stopping]# [stats, early_stopping] # Train the model model1.fit(x_train, y_train, nb_epoch=EPOCHS, batch_size=BATCH_SIZE, validation_data=(x_test, y_test), callbacks=callback_list, verbose=True) #drop-out layers: # Define Model model3 = tf.keras.Sequential() # 1st Conv Layer model3.add(Convolution2D(32, (3, 3), input_shape=(28, 28, 1))) model3.add(Activation(‘relu’)) # 2nd Conv Layer model3.add(Convolution2D(32, (3, 3))) model3.add(Activation(‘relu’)) # Max Pooling model3.add(MaxPooling2D(pool_size=(2,2))) # Dropout model3.add(Dropout(0.25)) # Fully Connected Layer model3.add(Flatten()) model3.add(Dense(128)) model3.add(Activation(‘relu’)) # More Dropout model3.add(Dropout(0.5)) # Prediction Layer model3.add(Dense(10)) model3.add(Activation(‘softmax’)) # Loss and Optimizer model3.compile(loss=’categorical_crossentropy’, optimizer=’adam’, metrics=[‘accuracy’]) # Store Training Results early_stopping = tf.keras.callbacks.EarlyStopping(monitor=’val_acc’, patience=7, verbose=1, mode=’auto’) callback_list = [early_stopping] # Train the model model3.fit(x_train, y_train, batch_size=BATCH_SIZE, nb_epoch=EPOCHS, validation_data=(x_test, y_test), callbacks=callback_list)

15. Implement a popularity based recommendation system on this movie lens dataset:

import os import numpy as np import pandas as pd ratings_data = pd.read_csv(“ratings.csv”) ratings_data.head() movie_names = pd.read_csv(“movies.csv”) movie_names.head() movie_data = pd.merge(ratings_data, movie_names, on=’movieId’) movie_data.groupby(‘title’)[‘rating’].mean().head() movie_data.groupby(‘title’)[‘rating’].mean().sort_values(ascending=False).head() movie_data.groupby(‘title’)[‘rating’].count().sort_values(ascending=False).head() ratings_mean_count = pd.DataFrame(movie_data.groupby(‘title’)[‘rating’].mean()) ratings_mean_count.head() ratings_mean_count[‘rating_counts’] = pd.DataFrame(movie_data.groupby(‘title’)[‘rating’].count()) ratings_mean_count.head() 

16. Implement the naive bayes algorithm on top of the diabetes dataset:

Sol:

import numpy as np # linear algebra import pandas as pd # data processing, CSV file I/O (e.g. pd.read_csv) import matplotlib.pyplot as plt # matplotlib.pyplot plots data %matplotlib inline import seaborn as sns pdata = pd.read_csv(“pima-indians-diabetes.csv”) columns = list(pdata)[0:-1] # Excluding Outcome column which has only pdata[columns].hist(stacked=False, bins=100, figsize=(12,30), layout=(14,2)); # Histogram of first 8 columns

# However we want to see correlation in graphical representation so below is function for that

def plot_corr(df, size=11): corr = df.corr() fig, ax = plt.subplots(figsize=(size, size)) ax.matshow(corr) plt.xticks(range(len(corr.columns)), corr.columns) plt.yticks(range(len(corr.columns)), corr.columns) plot_corr(pdata)
from sklearn.model_selection import train_test_split X = pdata.drop(‘class’,axis=1) # Predictor feature columns (8 X m) Y = pdata[‘class’] # Predicted class (1=True, 0=False) (1 X m) x_train, x_test, y_train, y_test = train_test_split(X, Y, test_size=0.3, random_state=1) # 1 is just any random seed number x_train.head() from sklearn.naive_bayes import GaussianNB # using Gaussian algorithm from Naive Bayes # creatw the model diab_model = GaussianNB() diab_model.fit(x_train, y_train.ravel()) diab_train_predict = diab_model.predict(x_train) from sklearn import metrics print(“Model Accuracy: {0:.4f}”.format(metrics.accuracy_score(y_train, diab_train_predict))) print() diab_test_predict = diab_model.predict(x_test) from sklearn import metrics print(“Model Accuracy: {0:.4f}”.format(metrics.accuracy_score(y_test, diab_test_predict))) print() print(“Confusion Matrix”) cm=metrics.confusion_matrix(y_test, diab_test_predict, labels=[1, 0]) df_cm = pd.DataFrame(cm, index = [i for i in [“1″,”0”]], columns = [i for i in [“Predict 1″,”Predict 0”]]) plt.figure(figsize = (7,5)) sns.heatmap(df_cm, annot=True)

Our Most Popular Courses:


Python OOPS Interview Questions

1. What do you understand by object oriented programming in Python?

Object oriented programming refers to the process of solving a problem by creating objects. This approach takes into account two key factors of an object- attributes and behaviour.

2. How are classes created in Python? Give an example

class Node(object):
  def __init__(self):
    self.x=0
    self.y=0

Here Node is a class

3. What is inheritance in Object oriented programming? Give an example of multiple inheritance.

Inheritance is one of the core concepts of object-oriented programming. It is a process of deriving a class from a different class and form a hierarchy of classes that share the same attributes and methods. It is generally used for deriving different kinds of exceptions, create custom logic for existing frameworks and even map domain models for database.

Example

class Node(object):
  def __init__(self):
    self.x=0
    self.y=0

Here class Node inherits from the object class.

Wish to upskill? Take up a data science course and learn now!

4. What is multi-level inheritance? Give an example for multi-level inheritance?

If class A inherits from B and C inherits from A it’s called multilevel inheritance.
class B(object): def __init__(self): self.b=0 class A(B): def __init__(self): self.a=0 class C(A): def __init__(self): self.c=0

Python Programming Interview Questions

1. How can you find the minimum and maximum values present in a tuple?

 Solution ->

We can use the min() function on top of the tuple to find out the minimum value present in the tuple:

tup1=(1,2,3,4,5)
min(tup1)

Output

1

We see that the minimum value present in the tuple is 1.

Analogous to the min() function is the max() function, which will help us to find out the maximum value present in the tuple:

tup1=(1,2,3,4,5)
max(tup1)

Output

5

We see that the maximum value present in the tuple is 5

2. If you have a list like this -> [1,”a”,2,”b”,3,”c”]. How can you access the 2nd, 4th and 5th elements from this list?

Solution ->

We will start off by creating a tuple which will comprise of the indices of elements which we want to access:

Then, we will use a for loop to go through the index values and print them out:

Below is the entire code for the process:

indices = (1,3,4)
for i in indices: print(a[i])

3. If you have a list like this -> [“sparta”,True,3+4j,False]. How would you reverse the elements of this list?

Solution ->

We can use  the reverse() function on the list:

a.reverse()
a

4. If you have dictionary like this – > fruit={“Apple”:10,”Orange”:20,”Banana”:30,”Guava”:40}. How would you update the value of ‘Apple’ from 10 to 100?

Solution ->

 This is how you can do it:

fruit["Apple"]=100
fruit

Give in the name of the key inside the parenthesis and assign it a new value.

5. If you have two sets like this -> s1 = {1,2,3,4,5,6}, s2 = {5,6,7,8,9}. How would you find the common elements in these sets.

Solution ->

You can use the intersection() function to find the common elements between the two sets:

s1 = {1,2,3,4,5,6}
s2 = {5,6,7,8,9}
s1.intersection(s2)

We see that the common elements between the two sets are 5 & 6.

6. Write a program to print out the 2-table using while loop.

Solution ->

Below is the code to print out the 2-table:

Code

i=1
n=2
while i<=10: print(n,"*", i, "=", n*i) i=i+1

Output

code with output

We start off by initializing two variables ‘i’ and ‘n’. ‘i’ is initialized to 1 and ‘n’ is initialized to ‘2’.

Inside the while loop, since the ‘i’ value goes from 1 to 10, the loop iterates 10 times.

Initially n*i is equal to 2*1, and we print out the value.

Then, ‘i’ value is incremented and n*i becomes 2*2. We go ahead and print it out.

This process goes on until i value becomes 10.

7. Write a function, which will take in a value and print out if it is even or odd.

Solution ->

The below code will do the job:

def even_odd(x): if x%2==0: print(x," is even") else: print(x, " is odd")

Here, we start off by creating a method, with the name ‘even_odd()’. This function takes a single parameter and prints out if the number taken is even or odd.

Now, let’s invoke the function:

even_odd(5)

We see that, when 5 is passed as a parameter into the function, we get the output -> ‘5 is odd’.

8. Write a python program to print the factorial of a number.

Solution ->

Below is the code to print the factorial of a number:

factorial = 1
#check if the number is negative, positive or zero
if num<0: print("Sorry, factorial does not exist for negative numbers")
elif num==0: print("The factorial of 0 is 1")
else for i in range(1,num+1): factorial = factorial*i print("The factorial of",num,"is",factorial)

We start off by taking an input which is stored in ‘num’. Then, we check if ‘num’ is less than zero and if it is actually less than 0, we print out ‘Sorry, factorial does not exist for negative numbers’.

After that, we check,if ‘num’ is equal to zero, and it that’s the case, we print out ‘The factorial of 0 is 1’.

On the other hand, if ‘num’ is greater than 1, we enter the for loop and calculate the factorial of the number.

9. Write a python program to check if the number given is a palindrome or not

Solution ->

Below is the code to Check whether the given number is palindrome or not:

n=int(input("Enter number:"))
temp=n
rev=0
while(n>0) dig=n%10 rev=rev*10+dig n=n//10
if(temp==rev): print("The number is a palindrome!")
else: print("The number isn't a palindrome!")

We will start off by taking an input and store it in ‘n’ and make a duplicate of it in ‘temp’. We will also initialize another variable ‘rev’ to 0. 

Then, we will enter a while loop which will go on until ‘n’ becomes 0. 

Inside the loop, we will start off by dividing ‘n’ with 10 and then store the remainder in ‘dig’.

Then, we will multiply ‘rev’ with 10 and then add ‘dig’ to it. This result will be stored back in ‘rev’.

Going ahead, we will divide ‘n’ by 10 and store the result back in ‘n’

Once the for loop ends, we will compare the values of ‘rev’ and ‘temp’. If they are equal, we will print ‘The number is a palindrome’, else we will print ‘The number isn’t a palindrome’.

10. Write a python program to print the following pattern ->

1

2 2

3 3 3

4 4 4 4

5 5 5 5 5

Solution ->

Below is the code to print this pattern:

#10 is the total number to print
for num in range(6): for i in range(num): print(num,end=" ")#print number #new line after each row to display pattern correctly print("\n")

We are solving the problem with the help of nested for loop. We will have an outer for loop, which goes from 1 to 5. Then, we have an inner for loop, which would print the respective numbers.

11. Pattern questions. Print the following pattern

#
# #
# # #
# # # #
# # # # #

Solution –>

def pattern_1(num): # outer loop handles the number of rows # inner loop handles the number of columns # n is the number of rows. for i in range(0, n): # value of j depends on i for j in range(0, i+1): # printing hashes print("#",end="") # ending line after each row print("\r") num = int(input("Enter the number of rows in pattern: "))
pattern_1(num)

12. Print the following pattern

  # 
      # # 
    # # # 
  # # # #
# # # # #

Solution –>

 Code:
def pattern_2(num): # define the number of spaces k = 2*num - 2 # outer loop always handles the number of rows # let us use the inner loop to control the number of spaces # we need the number of spaces as maximum initially and then decrement it after every iteration for i in range(0, num): for j in range(0, k): print(end=" ") # decrementing k after each loop k = k - 2 # reinitializing the inner loop to keep a track of the number of columns # similar to pattern_1 function for j in range(0, i+1): print("# ", end="") # ending line after each row print("\r") num = int(input("Enter the number of rows in pattern: "))
pattern_2(num)

0
0 1
0 1 2
0 1 2 3
0 1 2 3 4

Solution –>

Code: def pattern_3(num): # initialising starting number number = 1 # outer loop always handles the number of rows # let us use the inner loop to control the number for i in range(0, num): # re assigning number after every iteration # ensure the column starts from 0 number = 0 # inner loop to handle number of columns for j in range(0, i+1): # printing number print(number, end=" ") # increment number column wise number = number + 1 # ending line after each row print("\r") num = int(input("Enter the number of rows in pattern: "))
pattern_3(num)

14. Print the following pattern:

1
2 3
4 5 6
7 8 9 10
11 12 13 14 15

Solution –>

Code: def pattern_4(num): # initialising starting number number = 1 # outer loop always handles the number of rows # let us use the inner loop to control the number for i in range(0, num): # commenting the reinitialization part ensure that numbers are printed continuously # ensure the column starts from 0 number = 0 # inner loop to handle number of columns for j in range(0, i+1): # printing number print(number, end=" ") # increment number column wise number = number + 1 # ending line after each row print("\r") num = int(input("Enter the number of rows in pattern: "))
pattern_4(num)

15. Print the following pattern:

A
B B
C C C
D D D D

Solution –>

def pattern_5(num): # initializing value of A as 65 # ASCII value equivalent number = 65 # outer loop always handles the number of rows for i in range(0, num): # inner loop handles the number of columns for j in range(0, i+1): # finding the ascii equivalent of the number char = chr(number) # printing char value print(char, end=" ") # incrementing number number = number + 1 # ending line after each row print("\r") num = int(input("Enter the number of rows in pattern: "))
pattern_5(num)

16. Print the following pattern:

A
B C
D E F
G H I J
K L M N O
P Q R S T U

Solution –>

def pattern_6(num): # initializing value equivalent to 'A' in ASCII # ASCII value number = 65 # outer loop always handles the number of rows for i in range(0, num): # inner loop to handle number of columns # values changing acc. to outer loop for j in range(0, i+1): # explicit conversion of int to char
# returns character equivalent to ASCII. char = chr(number) # printing char value print(char, end=" ") # printing the next character by incrementing number = number +1 # ending line after each row print("\r") num = int(input("enter the number of rows in the pattern: "))
pattern_6(num)

17. Print the following pattern

  #
    # # 
   # # # 
  # # # # 
 # # # # #

Solution –>

Code: def pattern_7(num): # number of spaces is a function of the input num k = 2*num - 2 # outer loop always handle the number of rows for i in range(0, num): # inner loop used to handle the number of spaces for j in range(0, k): print(end=" ") # the variable holding information about number of spaces # is decremented after every iteration k = k - 1 # inner loop reinitialized to handle the number of columns for j in range(0, i+1): # printing hash print("# ", end="") # ending line after each row print("\r") num = int(input("Enter the number of rows: "))
pattern_7(n)

18. Given the below dataframes form a single dataframe by vertical stacking.

We use the pd.concat and axis as 0 to stack them horizontally.

Code

import pandas as pd
d={"col1":[1,2,3],"col2":['A','B','C']}
df1=pd.DataFrame(d)
d={"col1":[4,5,6],"col2":['D','E','F']}
df2=pd.DataFrame(d)
d_new=pd.comcat([df1,df2],axis=0)
d_new

Output

19. Given the below dataframes stack them horizontally to form a single data frame.

We use the pd.concat and axis as 0 to stack them horizontally.

Code

import pandas as pd
d={"col1":[1,2,3],"col2":['A','B','C']}
df1=pd.DataFrame(d)
d={"col1":[4,5,6],"col2":['D','E','F']}
df2=pd.DataFrame(d)
d_new=pd.comcat([df1,df2],axis=1)
d_new

Output

20. If you have a dictionary like this -> d1={“k1″:10,”k2″:20,”k3”:30}. How would you increment values of all the keys ?

d1={"k1":10,"k2":20,"k3":30} for i in d1.keys(): d1[i]=d1[i]+1

21. How can you get a random number in python?

Ans. To generate a random, we use a random module of python. Here are some examples To generate a floating-point number from 0-1

import random
n = random.random()
print(n)
To generate a integer between a certain range (say from a to b):
import random
n = random.randint(a,b)
print(n)

Great Learning offers extensive courses on Artificial Intelligence and Machine Learning. Upskilling in this domain can land you the job of your dreams.

Explain how you can set up the Database in Django.

All of the project’s settings, as well as database connection information, are contained in the settings.py file. Django works with the SQLite database by default, but it may be configured to operate with other databases as well.

Database connectivity necessitates full connection information, including the database name, user credentials, hostname, and drive name, among other things.

To connect to MySQL and establish a connection between the application and the database, use the django.db.backends.mysql driver. 

All connection information must be included in the settings file. Our project’s settings.py file has the following code for the database.

DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'djangoApp', 'USER':'root', 'PASSWORD':'mysql', 'HOST':'localhost', 'PORT':'3306' } } 

This command will build tables for admin, auth, contenttypes, and sessions. You may now connect to the MySQL database by selecting it from the database drop-down menu. 

Give an example of how you can write a VIEW in Django?

The Django MVT Structure is incomplete without Django Views. A view function is a Python function that receives a Web request and delivers a Web response, according to the Django manual. This response might be a web page’s HTML content, a redirect, a 404 error, an XML document, an image, or anything else that a web browser can display.

The HTML/CSS/JavaScript in your Template files is converted into what you see in your browser when you show a web page using Django views, which are part of the user interface. (Do not combine Django views with MVC views if you’ve used other MVC (Model-View-Controller) frameworks.) In Django, the views are similar.

# import Http Response from django
from django.http import HttpResponse
# get datetime
import datetime
# create a function
def geeks_view(request): # fetch date and time now = datetime.datetime.now() # convert to string html = "Time is {}".format(now) # return response return HttpResponse(html)

Explain the use of sessions in the Django framework?

Django (and much of the Internet) uses sessions to track the “status” of a particular site and browser. Sessions allow you to save any amount of data per browser and make it available on the site each time the browser connects. The data elements of the session are then indicated by a “key”, which can be used to save and recover the data. 

Django uses a cookie with a single character ID to identify any browser and its website associated with the website. Session data is stored in the site’s database by default (this is safer than storing the data in a cookie, where it is more vulnerable to attackers).

Django allows you to store session data in a variety of locations (cache, files, “safe” cookies), but the default location is a solid and secure choice.

Enabling sessions

When we built the skeleton website, sessions were enabled by default.

The config is set up in the project file (locallibrary/locallibrary/settings.py) under the INSTALLED_APPS and MIDDLEWARE sections, as shown below:

INSTALLED_APPS = [ ... 'django.contrib.sessions', ....
MIDDLEWARE = [ ... 'django.contrib.sessions.middleware.SessionMiddleware', …

Using sessions

The request parameter gives you access to the view’s session property (an HttpRequest passed in as the first argument to the view). The session id in the browser’s cookie for this site identifies the particular connection to the current user (or, to be more accurate, the connection to the current browser).

The session assets is a dictionary-like item that you can examine and write to as frequently as you need on your view, updating it as you go. You may do all of the standard dictionary actions, such as clearing all data, testing for the presence of a key, looping over data, and so on. Most of the time, though, you’ll merely obtain and set values using the usual “dictionary” API.

The code segments below demonstrate how to obtain, change, and remove data linked with the current session using the key “my bike” (browser).

Note: One of the best things about Django is that you don’t have to worry about the mechanisms that you think are connecting the session to the current request. If we were to use the fragments below in our view, we’d know that the information about my_bike is associated only with the browser that sent the current request.

# Get a session value via its key (for example ‘my_bike’), raising a KeyError if the key is not present 

 my_bike= request.session[‘my_bike’]

# Get a session value, setting a default value if it is not present ( ‘mini’)

my_bike= request.session.get(‘my_bike’, ‘mini’)

# Set a session value

request.session[‘my_bike’] = ‘mini’

# Delete a session value

del request.session[‘my_bike’]

A variety of different methods are available in the API, most of which are used to control the linked session cookie. There are ways to verify whether the client browser supports cookies, to set and check cookie expiration dates, and to delete expired sessions from the data store, for example. How to utilise sessions has further information on the whole API (Django docs).

List out the inheritance styles in Django.

Abstract base classes: This inheritance pattern is used by developers when they want the parent class to keep data that they don’t want to type out for each child model.

models.py

from django.db import models # Create your models here. class ContactInfo(models.Model): name=models.CharField(max_length=20) email=models.EmailField(max_length=20) address=models.TextField(max_length=20) class Meta: abstract=True class Customer(ContactInfo): phone=models.IntegerField(max_length=15) class Staff(ContactInfo): position=models.CharField(max_length=10) admin.py
admin.site.register(Customer)
admin.site.register(Staff)

Two tables are formed in the database when we transfer these modifications. We have fields for name, email, address, and phone in the Customer Table. We have fields for name, email, address, and position in Staff Table. Table is not a base class that is built in This inheritance.

Multi-table inheritance: It is utilised when you wish to subclass an existing model and have each of the subclasses have its own database table.

model.py
from django.db import models # Create your models here. class Place(models.Model): name=models.CharField(max_length=20) address=models.TextField(max_length=20) def __str__(self): return self.name class Restaurants(Place): serves_pizza=models.BooleanField(default=False) serves_pasta=models.BooleanField(default=False) def __str__(self): return self.serves_pasta admin.py from django.contrib import admin
from .models import Place,Restaurants
# Register your models here. admin.site.register(Place)
admin.site.register(Restaurants)

Proxy models: This inheritance approach allows the user to change the behaviour at the basic level without changing the model’s field.

This technique is used if you just want to change the model’s Python level behaviour and not the model’s fields. With the exception of fields, you inherit from the base class and can add your own properties. 

  • Abstract classes should not be used as base classes.
  • Multiple inheritance is not possible in proxy models.

The main purpose of this is to replace the previous model’s key functions. It always uses overridden methods to query the original model.

How can you get the Google cache age of any URL or web page?

Use the URL

https://webcache.googleusercontent.com/search?q=cache:<your url without “http://”>

Example:

https://webcache.googleusercontent.com/search?q=cache:stackoverflow.com

It contains a header like this:

This is Google’s cache of https://stackoverflow.com/. It’s a screenshot of the page as it looked at 11:33:38 GMT on August 21, 2012. In the meanwhile, the current page may have changed.

Tip: Use the find bar and press Ctrl+F or ⌘+F (Mac) to quickly find your search word on this page.

You’ll have to scrape the resultant page, however the most current cache page may be found at this URL:

http://webcache.googleusercontent.com/search?q=cache:www.something.com/path

The first div in the body tag contains Google information.

you can Use CachedPages website

Large enterprises with sophisticated web servers typically preserve and keep cached pages. Because such servers are often quite fast, a cached page can frequently be retrieved faster than the live website:

  • A current copy of the page is generally kept by Google (1 to 15 days old).
  • Coral also retains a current copy, although it isn’t as up to date as Google’s.
  • You may access several versions of a web page preserved over time using Archive.org.

So, the next time you can’t access a website but still want to look at it, Google’s cache version could be a good option. First, determine whether or not age is important. 

What is init in Python?

you all must be familiar with the concept of constructors. Well, init is a constructor that is invoked automatically whenever a new object/class is created. All classes have a __init__ method associated with them.

Example :

Briefly explain about Python namespaces?

A namespace in python talks about the name that is assigned to each object in Python. Namespaces are preserved in python like a dictionary where the key of the dictionary is the namespace and value is the address of that object.

Different types are as follows :

  • Built-in-namespace – Namespaces containing all the built-in objects in python.
  • Global namespace – Namespaces consisting of all the objects created when you call your main program.
  • Enclosing namespace  – Namespaces at the higher lever.
  • Local namespace – Namespaces within local functions.

Briefly explain about Break, Pass and Continue statements in Python ? 

Break : When we use a break statement in a python code/program it immediately breaks/terminates the loop and the control flow is given back to the statement after the body of the loop.

Continue : When we use a continue statement in a python code/program it immediately breaks/terminates the current iteration of the statement and also skips the rest of the program in the current iteration and controls flows to the next iteration of the loop.

Pass : When we use a pass statement in a python code/program it fills up the empty spots in the program.

Example :

Give me an example on how you can convert a list to a string ?

Below given example will show how to convert a list to a string. When we convert a list to a string we can make use of the “.join” function to do the same.

Give me an example where you can convert a list to a tuple ?

Below given example will show how to convert a list to a tuple. When we convert a list to a tuple we can make use of the <tuple()> function, but do remember since tuples are immutable we cannot convert it back to a list.

How do you count the occurrences of a particular element in the list ?

In the list data structure of python we count the number of occurrences of an element by using count() function.

Python Interview related FAQs

Ques 1. How do you stand out in a Python coding interview?

Now that you’re ready for a Python Interview in terms of technical skills, you must be wondering how to stand out from the crowd so that you’re the selected candidate. You must be able to show that you can write clean production codes and have knowledge about the libraries and tools required. If you’ve worked on any prior projects, then showcasing these projects in your interview will also help you stand out from the rest of the crowd.

Also Read Top Common Interview Questions

Ques 2. How do I prepare for a Python interview?

To prepare for a Python Interview, you must know syntax, key-words, functions and classes, data types, basic coding, and exception handling. Having basic knowledge regarding all the libraries, IDE’s used and reading blogs related to Python Tutorial’s will help you going forward. Showcase your example projects, brush up your basic skills about algorithms, data structures. This will help you stay prepared.

Ques 3. Are Python coding interviews very difficult?

The difficulty level of a Python Interview will vary depending on the role you are applying for, the company, their requirements, and your skill and knowledge/work experience. If you’re a beginner in the field and are not yet confident about your coding ability, you may feel that the interview is difficult. Being prepared and knowing what type of python interview questions to expect will help you prepare well and ace the interview.

Ques 4. How do I pass the Python coding interview?

Having adequate knowledge regarding Object Relational Mapper (ORM) libraries, Django or Flask, unit testing and debugging skills, fundamental design principles behind a scalable application, Python packages such as NumPy, Scikit learn are extremely important for you to clear a coding interview. You can showcase your previous work experience or coding ability through projects, this acts as an added advantage.

Also Read: How to build a Python Developers Resume

Ques 5. How do you debug a python program?

By using this command we can debug the program in the python terminal.

Ques 6. Which courses or certifications can help boost knowledge in Python?

With this, we have reached the end of the blog on top Python Interview Questions. If you wish to upskill, taking up a certificate course will help you gain the required knowledge. You can take up a python programming course and kick-start your career in Python.

15 Source: GreatLearning Blog

RELATED ARTICLES
- Advertisment -

Most Popular

Recent Comments