I’ll introduce you to the most commonly asked questions in Python interviews for 2021 in this Python Interview Questions tutorial. We have over 100 questions on Python Programming Fundamentals that will help you get the most out of our tutorial regardless of your level of expertise.
Q. What separates Python from other programming languages?
Python is an interpreted programming language. That is, unlike languages like C and its variants, Python does not require compilation before use. PHP and Ruby are two other interpreted languages.
• Python is a dynamically typed programming language. It means you don’t have to define the types of variables when declaring them or something. You can safely do stuff like a =9 and then x= “I’m a string.”
• Python is well suited to object-oriented programming because it supports class description, composition, and inheritance. Python lacks access specifiers (such as public and private in C++).
• Functions are first-class objects in Python. This implies they can be transferred into functions, allocated to variables, and returned from other functions. Classes are first-class objects as well.
• Python code is fast to write, but it is also slower to run than compiled languages. Fortunately, Python allows C-based extensions, so bottlenecks can and are often eliminated. A good example of this is the numpy package. Since Python doesn’t do a lot of the number-crunching, it’s very quick.
• Python is used in various fields, including web applications, robotics, scientific modeling, and big data applications. It’s also often used as “glue” code to bring together disparate languages and components.
Q. Python is a programming language. Is it better to program or script?
Python is capable of scripting, but it is commonly known as a general-purpose programming language.
Q.Python is an interpreted language. Justify your role.
Any programming language that is not in machine-level code until runtime is called an interpreted language. Python is, therefore, an interpreted language.
Q. What is the significance of pep 8?
Python Enhancement Proposal (PEP) is an acronym for Python Enhancement Proposal. It’s a set of instructions for formatting Python code for optimal readability.
Q. How does Python treat memory?
In Python, memory is handled in the following ways:
• Python’s memory management is handled by the Python private heap space. A private heap contains all Python objects and data structures. This private heap is not accessible to the programmer. Instead, the python interpreter takes care of it.
• Python’s memory manager is in charge of allocating heap space for Python objects. The core API allows programmers access to certain programming resources.
• Python includes a garbage collector that recycles all unused memory and makes it accessible to the heap space.
Q. In Python, what is a namespace?
To prevent naming conflicts, a namespace is a naming scheme that ensures that names are unique.
Q. What is a Python path.
It’s an environment variable that’s used when you import a module. When a module is imported, PYTHONPATH is checked to see if the imported modules are present in different folders. The interpreter uses it to evaluate which module to load.
Q. What are python modules, exactly? What are some of the most widely used Python built-in modules?
Python modules are executable files that contain Python code. Function classes or variables may be used in this code. A Python module is a .py file that contains code that can be executed.
The following are some of the most widely used built-in modules:
os
sys
math
random
data time
JSON
Q.What are the variations between local and global variables in Python?
Global Variables: Global variables are variables declared outside of a function or in global space. Any function in the program can access these variables.
Local Variables: A local variable is any variable declared within a function. This variable exists only in local space, not in global space.
Q.In Python, what is type conversion?
The conversion of one data type to another is known as type conversion.
• int(): This Function transforms every data type to an integer.
• float(): This function transforms every data type into a float.
• ord(): This Function translates characters to integers.
• hex(): This function converts integers to hexadecimal values.
• oct(): This function transforms an integer into an octal number.
• tuple(): To convert to a tuple, use This Function.
• set(): After converting to set, this function returns the type.
• list(): This Function converts every data type to a list format.
• dict(): This function creates a dictionary from a tuple of order (key, value).
• str(): This function converts an integer to a string.
• complex(real,image): Converts real numbers to complex(real,image) numbers with This Function.
Q. How do I install Python and set path variables on Windows?
Follow the steps below to install Python on Windows:
• Go to https://www.python.org/downloads/
to download Python.
• Install it on your computer after that. Using your command prompt, look for the place where PYTHON
is mounted on your PC: cmd Python
.
• Then, in advanced device settings, create a new variable called PYTHON_NAME
and paste the copied path into it.
• Find the path variable, select its value, and then choose ‘edit.’
• If the value doesn’t have a semicolon at the end, add one, and then type %PYTHON HOME%.
Q. Is it important to use indentation in Python?
Indentation is required in Python. It designates a code block. An indented block contains all of the code for loops, classes, functions, and so on. The most common method is to use four space characters. If your code is not indented properly, it will not run correctly and will generate errors.
Q. What is Self in Python?
A class’s instance or object is called Self. It is specifically used as the first parameter in Python. In Java, however, this is not the case since it is optional. With local variables, it’s easier to distinguish between a class’s methods and attributes. In the init
method, the self variable refers to the newly generated object, while it refers to the object whose method was named in other methods.
Q. What is the difference between break, continue, and pass?
Break: When a condition is met, the loop is terminated, and control is passed to the next statement.
Continue: When a certain condition is met, the control is passed to the beginning of the loop, allowing certain parts of the loop to be skipped.
Pass: This is used when you need a block of code syntactically but doesn’t want to run it. It’s a one-of-a-kind operation. When this is run, nothing happens.
Q. What are iterators in Python?
Iterators are objects that can be traversed or iterated over.
Q. In Python, how do you create random numbers?
The random module is the default module for generating random numbers. The method is defined as follows:
import random
random.random
The random.random()
method returns a floating-point number between 0 and 1 in the range [0, 1]. The function produces float numbers at random. The bound methods of the hidden instances are the methods that are used for the random class. Random instances may be used to demonstrate multi-threading programs that generate multiple instances of individual threads. The following random generators are also included in this:
• randrange(a, b): selects an integer and specifies the range of values between [a, b]. It returns the elements by selecting them at random from the specified range. A range object isn’t created.
• uniform(a, b): this function selects a floating-point number from the range [a,b]. It gives you a floating-point number.
• normalvariate(mean, sdev): This function is used to measure the standard deviation of a normal distribution, where the mu is the mean and the sdev is a sigma.
• The Random class, which is used and instantiated, produces several random number generators independent of one another.
Q. What is the distinction between range and xrange?
In terms of features, the xrange and range are almost similar. They both give you the option of generating a list of integers to use. The only difference between range and xrange is that range returns a Python list object, while xrange returns an xrange object.
It means that, unlike the range, xrange does not create a static list at runtime. It uses a technique called yielding to build the values as you need them. This technique is used with generators, which are a type of object. That means xrange is the function to use if you have a large range and want to create a list for a billion people.
It is particularly true if you’re dealing with a basic memory-sensitive device like a mobile phone. The range will use as much memory as possible to generate your array of integers, resulting in a Memory Error and crashing your program. It’s a memory-hoarding bug.
Q. In Python, how do you write comments?
The # character is used to start comments in Python. However, docstrings are also used to comment (strings enclosed within triple quotes).
Consider the following scenario:
In Python, comments begin with a #. print(“Comments in Python begin with a #”)
Output: Python comments begin with a #.
Q. What is the difference between pickling and unpickling?
The Pickle module takes any Python object, converts it to a string representation, and uses the dump function to dump it into a file. This process is called pickling. On the other hand, unpickling is the method of recovering original Python objects from a stored string representation.
Q. What are Python’s generators?
Generators are functions that return an iterable set of objects.
Q. How can you capitalize the string’s first letter?
The capitalize() method in Python capitalizes a string’s first letter. It returns the original string if the string contains a capital letter at the start.
Q. What is the best way to convert a string to all lowercase letters?
The lower()
function can be used to convert a string to a lowercase.
Consider the following scenario:
print(stg.lower()) stg='ABCD' Output: abcd
Q. In Python, how do I comment on multiple lines?
Comments that span several lines are known as multi-line comments. A #
must precede all lines that will be commented. You may also use a convenient shortcut to comment on several lines. All you have to do is hold down the ctrl key
and left-click in any place where you want a #
character to appear, then enter a #
once. This will add a comment on all of the lines where your cursor was introduced.
Q. What are docstrings in Python?
Docstrings are documentation strings rather than actual statements. These docstrings are enclosed in triple quotation marks. They are not allocated to any attribute, and, as a result, they can also be used as comments.
Example:
""" I am using docstring as a comment. Sum of three number """
Q. What are the functions of the operators is, not, and in?
Operators are a type of function that performs a specific task. They take one or more values and create a result that corresponds to them.
• is: returns true if both operands are true (e.g., “a” is “a”).
• not: returns the boolean value’s inverse.
• in: specifies if a certain element is present in a given series.
Q. How are the help() and dir() functions used in Python?
Both help()
and dir()
are accessible from the Python interpreter and display a consolidated list of built-in functions.
• Help() function: The help()
function displays the documentation string and also allows you to see help for modules, keywords, and attributes, among other things.
• dir()
function: The dir()
function is used to show the symbols that have been specified.
Q. Why isn’t all the memory de-allocated when Python exits?
• When Python exits, objects with circular references to other objects or are referenced from global namespaces are not always de-allocated or freed, particularly those Python modules that have circular references to other objects.
• It is difficult to de-allocate the memory that the C library has reserved.
• Python will try to de-allocate/destroy all other objects on exit because it has its powerful cleanup mechanism.
Q. In Python, what is a dictionary?
The dictionary data type is one of Python’s built-in data types. It establishes a one-to-one correspondence between keys and values. Dictionary entries are made up of a pair of keys and their values. Keys are used to index dictionaries.
Q. How do you use ternary operators in Python?
The Ternary operator is the operator for displaying conditional statements. It is made up of true or false beliefs and an argument that must be tested.
Q. What do the words *args and **kwargs mean? And why would we want to use it in the first place?
When we don’t know how many arguments will be passed to a function, or when we want to pass a stored list or tuple of arguments to a function, we use *args. **kwargs can be used to pass the values of a dictionary as keyword arguments when we don’t know how many keyword arguments will be passed to a function. The identifiers args and kwargs are a convention; you might use *haircut and **Ricky instead, but that would be unwise.
Q. What does len() do?
It’s used to figure out how long a string, a list, or an array, etc.
Example:
stg='Notes' len(stg)
Q. Describe the split(), sub(), and subn() methods in Python’s “re” module.
Python’s “re” module provides three methods for manipulating strings. They are as follows:
• split(): splits a string into a list using a regex template.
• sub(): finds all substrings that fit the regex pattern and replaces them with a new string.
• subn(): similar to sub()
, but returns the new string and the number of replacements.
Q. What are negative indexes, and why do we use them?
In Python, the sequences are indexed and include both positive and negative numbers. The positive numbers use ‘0’ as the first index and '1'
as the second index, and the process continues in this manner.
The index for a negative number begins with '-1,'
which is the last index in the series, and finishes with '-2,'
which is the penultimate index, and the sequence continues as it does for a positive number.
The negative index is used to delete any new-line spaces from the string, allowing it to accept the last character, S[:-1]. The negative index is often used to represent the index in the correct order of the string.
Q. What are Python packages, exactly?
Packages in Python are namespaces that contain several modules.
Q.How do you delete files in Python?
You’ll need to import the OS Module in Python to delete a file. After that, you must use the os.delete() function to remove the object.
Consider the following scenario:
import os os.remove("notes.txt")
Q. What are the benefits of NumPy arrays over (nested) Python lists?
• Python’s lists are useful containers for a variety of purposes. They allow for (relatively) fast insertion, deletion, appending, concatenation, and Python’s list comprehensions to make them simple to build and manipulate.
• They have some limitations: they don’t support “vectorized” operations like elementwise addition and multiplication. They can contain artifacts of different types that necessitate Python storing type information for each element and running type dispatching code while operating on it.
• NumPy is not only more effective but also more user-friendly. You get a lot of vector and matrix operations for free, which can help you avoid doing work that isn’t required. They are also introduced effectively.
• NumPy arrays are quicker, and NumPy comes with many features, including FFTs, convolutions, quick searching, simple statistics, linear algebra, histograms, and more.
Q. Are there any OOps concepts in Python?
Python is an object-oriented programming language. It implies that by constructing an object model, any program can be solved in Python. Python, on the other hand, can be used as both a procedural and a structural language.
Q. How do you distinguish between deep and shallow copy?
When a new instance type is made, a shallow copy is used to preserve the copied values in the previous instance. Shallow copy is used to copy reference pointers in the same way as it is used to copy values. These references apply to the original objects, and any changes made to any member of the class will affect the original copy. Shallow copy allows for quicker program execution and is dependent on the size of the data being used.
Deep copy is a technique for preserving previously copied values. The reference pointers to the objects are not copied during the deep copy. It creates a reference to an object and stores the new object referred to by another object. Any modifications made to the item in the original copy would not impact any other copies that use it. Deep copy slows down the program’s execution by making several copies of each object that is called.
Q. How does Python handle multi-threading?
• Python has a multi-threading kit, but it’s typically not a good idea to use it if you want to multi-thread to speed up your code.
• The Global Interpreter Lock is a Python build (GIL). The GIL ensures that only one of your ‘threads’ is active at any given time. A thread obtains the GIL, performs some work, and then transfers the GIL to the following thread.
• Since this occurs quickly, it can appear to the human eye that your threads are running in parallel, but they share the same processor core.
• All of this GIL passing adds to the execution time. It means that using the threading kit to make the code run faster isn’t always a smart idea.
Q. In Python, how do compilation and linking work?
Compiling and linking allow new extensions to be compiled correctly without errors, and linking can only be done if the compiled procedure is passed. If dynamic loading is used, the style offered by the system is taken into consideration. The python interpreter can be used to load configuration setup files dynamically and will rebuild the interpreter.
The following are the steps that must be taken:
• Create a file with any name and in any language supported by your system’s compiler. For instance, consider file. C or file.CPP files.
• Save this file to the Modules/ directory of the distribution you’re using.
• In the Modules/ directory, edit the file Setup.local and add a section.
• Use the spam file to run the file.
• After a good run, use the make command on the top-level directory to restore the interpreter.
• If the file has been edited, use the command ‘make Makefile’ to restore the file.
Q. What are Python libraries, exactly?
Make a list of a few of them.
A list of Python packages is referred to as a Python library. Numpy, Pandas, Matplotlib, Scikit-learn, and many other Python libraries are widely used.
Q. What is split used for?
In Python, the split()
method is used to split a string.
Example:
a="Computer Notes" print(a.split()) Output: ['Computer', 'Notes']
Q. In Python, how do you import modules?
The import keyword can be used to import modules. There are three approaches for importing modules. :
Example:
import array #importing with the module's original name import array as arr # Using an alias name to import from array import * #imports the contents of the array module.
Q. Provide an example of inheritance in Python.
Inheritance allows one class to obtain all of another class’s members (attributes and methods). Inheritance facilitates the creation and maintenance of applications by allowing code to be reused. The class from which we are inheriting is referred to as the superclass, and the class from which we are inheriting is referred to as the derived / child class.
Python supports a variety of different forms of inheritance:
• Single Inheritance: a derived class inherits all of the members of a single superclass.
• Multi-level inheritance: the derived class d1 is inherited from the base class base1, and the derived class d2 is inherited from base2.
• Hierarchical inheritance: any number of child classes may be inherited from a single base class.
• Multiple inheritance: a derived class, may have multiple base classes.
Q. Is multiple inheritance supported in Python?
A class may derive from multiple parent classes, which is known as multiple inheritance. Unlike Java, Python allows for multiple inheritance.
Q. In Python, what is polymorphism?
Polymorphism refers to a person’s tendency to take on many identities. For example, if the parent class has a method named ABC, the child class may also have a method named ABC with its parameters and variables. Polymorphism is possible in Python.
Q. What does encapsulation mean in Python?
Encapsulation refers to the joining of code and data. A Python class illustrates encapsulation.
Q. In Python, how do you do data abstraction?
Data abstraction is the process of presenting only the required information while concealing the implementation from the rest of the world. Interfaces and abstract classes can be used to accomplish this in Python.
Q. Are access specifiers used in Python?
Reference to an instance variable or function is not restricted in Python. To mimic the actions of secure and private access specifiers, Python introduces the idea of prefixing the name of the variable, function, or method with a single or double underscore.
Q. In Python, how do you build an empty class?
A class that has no code specified within its block is called an empty class. The pass keyword can be used to build it. You can, however, construct objects of this class outside of the class. When the PASS command is used in Python, it does not affect. It’s a statement that has no meaning.
Q. What is the purpose of an object()?
It produces a featureless object that serves as the foundation for all classes. It also doesn’t accept any parameters.
Q. What is Flask, and what are its advantages?
Flask is a Python web microframework built on the BSD license “Werkzeug, Jinja2, and good intentions.” Two of its dependencies are Werkzeug and Jinja2. It means it will have few, if any, external library dependencies. It lightens the system while reducing upgrade dependence and reducing security flaws.
A session is simply a way of recalling details from one request to the next. A session in a flask uses a signed cookie to allow the user to inspect and change the contents of the session. If the user only has the secret key, he or she will change the session. Flask.secret key is a hidden key for Flask.
Q. Is Django superior to Flask?
Django and Flask transform URLs or addresses inserted into web browsers into Python functions. Flask is much easier to use than Django, but it doesn’t do much for you, so you’ll have to define the specifics, while Django does a lot for you, and you won’t have to do much. Django has prewritten code that the user must analyze, while Flask allows users to write their code, making it easier to understand. Both are technically excellent and have their own set of advantages and disadvantages.
Q. Explain how Django, Pyramid, and Flask vary from each other.
• Flask is a “microframework” designed for small applications with straightforward specifications. External libraries are needed in a flask. The flask is now ready for use.
• Pyramid is designed for larger projects. It gives the developer versatility and allows them to use the appropriate resources for their project. The database, URL layout, templating design, and other options are all available to the developer. Pyramid has many configuration options.
• Django, like Pyramid, can be used for broader applications. It has an ORM in it.
Q. What is the maximum duration of an identifier that can be used?
The length of an identifier is completely up to you.
Q. Why is it recommended that local variable names begin with an underscore?
They’re used to denote a class’s private variable. Leading underscores denote variables that must not be accessed outside the class because Python has no definition of private variables.
Q. When will the try-except-else else component be executed?
When there is no difference, the else component is executed.
Q. How do NumPy and SciPy vary from each other?
NumPy will only include the array data type and the most fundamental operations in a perfect world, such as indexing, sorting, reshaping, and simple elementwise functions. SciPy will house all numerical code. However, compatibility is one of NumPy’s main priorities, aiming to keep all features supported by any of its predecessors. As a result, NumPy includes several linear algebra functions that are more appropriately found in SciPy. In either case, SciPy includes more advanced linear algebra modules and a variety of other computational algorithms. You should probably install both NumPy and SciPy if you’re doing scientific programming with Python. The majority of new features belong in SciPy, not NumPy.
Q. How do you use NumPy/SciPy to create 3D plots/visualizations?
3D graphics, like 2D plotting, is beyond the reach of NumPy and SciPy. However, as with 2D plotting, NumPy packages exist. The mplot3d subpackage of Matplotlib offers simple 3D plotting, while Mayavi uses the powerful VTK engine to provide a wide range of high-quality 3D visualization features.
Q. What is the Python map function?
The map function applies the first argument’s function to all elements of the iterable given as the second argument. If the function takes more than one argument, there will be a lot of iterables. # To learn more about similar functions, click the link.
Q. Is numpy in Python better than lists?
We use a numpy array in Python instead of a list for the following three reasons:
• Quick
• Convenient
• Less Memory
Q. Describe Django’s inheritance types.
There are three inheritance types available in Django:
• Abstract Base Classes: When you just want the parent’s class to contain details that you don’t want to type out for and child model, this is the style to use.
• Multi-table Inheritance: If you’re sub-classing an existing model and need each model to have its database table, this is the style to use.
• Proxy templates: Use this model if you just want to change the model’s Python behavior without modifying the model’s fields.