1
1
Python is a
widely-used general-purpose, high-level programming language. It was created by Guido van Rossum in
1991 and further developed by the Python Software Foundation. It was designed with an emphasis on
code readability, and its syntax allows programmers to express their concepts in fewer lines of code. It is
used for: System Scripting Web Development Game Development Software Development Complex
Mathematics
2. What are the benefts of using Python language as a tool in the present scenario? The following are the
benefts of using Python language: Object-Oriented Language HighLevel Language Dynamically Typed
language Extensive support for Machine Learning Libraries Presence of third-party modules Open source
and community development Portable and Interactive Portable across Operating systems
4. What does the ‘#’ symbol do in Python? ‘#’ is used to comment on everything that comes after on the
line.
5. What is the difference between a Mutable datatype and an Immutable data type? Mutable data types
can be edited i.e., they can change at runtime. Eg – List, Dictionary, etc. Immutable data types can not be
edited i.e., they can not change at runtime. Eg – String, Tuple, etc.
6. How are arguments passed by value or by reference in Python? In Python, arguments are passed by
object reference (also called “pass by assignment”). This means that functions receive references to the
same objects: Mutable objects (like lists or dictionaries) can be modifed within the function. Immutable
objects (like integers or strings) cannot be changed and reassigning them inside the function doesn’t
affect the original object.
7. What is the difference between a Set and Dictionary? The set is unordered collection of unique items
that is iterable and mutable. A dictionary in Python is an ordered collection of data values, used to store
data values like a map.
8. What is List Comprehension? Give an Example. List comprehension is a syntax construction to ease the
creation of a list based on existing iterable. For Example: my_list = [i for i in range(1, 10)]
9. What is a lambda function? A lambda function is an anonymous function. This function can have any
number of parameters but, can have just one statement. For Example: a = lambda x, y : x*y print(a(7,
19))
10. What is a pass in Python? Pass means performing no operation or in other words, it is a placeholder
in the compound statement, where there should be a blank left and nothing has to be written there.
11. What is the difference between / and // in Python? / represents precise division (result is a foating
point number) whereas // represents foor division (result is an integer). For Example: 5//2 = 2 5/2 = 2.5
12. How is Exceptional handling done in Python? There are 3 main keywords i.e. try, except, and fnally
which are used to catch exceptions and handle the recovering mechanism accordingly. Try is the block of
a code that is monitored for errors. Except block gets executed when an error occurs. The beauty of the
fnal block is to execute the code after trying for an error. This block gets executed irrespective of
whether an error occurred or not. Finally, block is used to do the required cleanup activities of
objects/variables.
13. What is swapcase function in Python? It is a string’s function that converts all uppercase characters
into lowercase and vice versa. It is used to alter the existing case of the string. This method creates a
copy of the string which contains all the characters in the swap case. For Example: string =
"GeeksforGeeks" string.swapcase() ---> "gEEKSFORgEEKS"
14. Difference between for loop and while loop in Python The “for” Loop is generally used to iterate
through the elements of various collection types such as List, Tuple, Set, and Dictionary. Developers use a
“for” loop where they have both the conditions start and the end. Whereas, the “while” loop is the
actual looping feature that is used in any other programming language. Programmers use a Python while
loop where they just have the end conditions.
15. Can we Pass a function as an argument in Python? Yes, Several arguments can be passed to a
function, including objects, variables (of the same or distinct data types), and functions. Functions can be
passed as parameters to other functions because they are objects. Higher-order functions are functions
that can take other functions as arguments. To read more, refer to the article: Passing function as an
argument in Python
16. What are *args and **kwargs? To pass a variable number of arguments to a function in Python, use
the special syntax *args and **kwargs in the function specifcation. Both are to send a variable-length
argument list. The syntax *args is used to pass a non-keyworded, variable-length argument list.
17. Is Indentation Required in Python? Yes, indentation is required in Python. A Python interpreter can
be informed that a group of statements belongs to a specifc block of code by using Python indentation.
Indentations make the code easy to read for developers in all programming languages but in Python, it is
very important to indent the code in a specifc order.
18. What is Scope in Python? The location where we can fnd a variable and also access it if required is
called the scope of a variable. Python Local variable: Local variables are those that are initialized within a
function and are unique to that function. It cannot be accessed outside of the function. Python Global
variables: Global variables are the ones that are defned and declared outside any function and are not
specifed to any function. Module-level scope: It refers to the global objects of the current module
accessible in the program. Outermost scope: It refers to any built-in names that the program can call.
The name referenced is located last among the objects in this scope.
19. What is docstring in Python? Python documentation strings (or docstrings) provide a convenient way
of associating documentation with Python modules, functions, classes, and methods. Declaring
Docstrings: The docstrings are declared using ”’triple single quotes”’ or “””triple double quotes””” just
below the class, method, or function declaration. All functions should have a docstring. Accessing
Docstrings: The docstrings can be accessed using the __doc__ method of the object or using the help
function.
20. What is a dynamically typed language? Typed languages are the languages in which we defne the
type of data type and it will be known by the machine at the compile-time or at runtime. Typed
languages can be classifed into two categories: Statically typed languages: In this type of language, the
data type of a variable is known at the compile time which means the programmer has to specify the
data type of a variable at the time of its declaration. Dynamically typed languages: These are the
languages that do not require any pre-defned data type for any variable as it is interpreted at runtime by
the machine itself. In these languages, interpreters assign the data type to a variable at runtime
depending on its value.
21. What is a break, continue, and pass in Python? The break statement is used to terminate the loop or
statement in which it is present. After that, the control will pass to the statements that are present after
the break statement, if available. Continue is also a loop control statement just like the break statement.
continue statement is opposite to that of the break statement, instead of terminating the loop, it forces
to execute the next iteration of the loop. Pass means performing no operation or in other words, it is a
placeholder in the compound statement, where there should be a blank left and nothing has to be
written there.
22. What are Built-in data types in Python? The following are the standard or built-in data types in
Python: Numeric: The numeric data type in Python represents the data that has a numeric value. A
numeric value can be an integer, a foating number, a Boolean, or even a complex number. Sequence
Type: The sequence Data Type in Python is the ordered collection of similar or different data types. There
are several sequence types in Python: Python String Python List Python Tuple Python range Mapping
Types: In Python, hashable data can be mapped to random objects using a mapping object. There is
currently only one common mapping type, the dictionary, and mapping objects are mutable. Python
Dictionary Set Types: In Python, a Set is an unordered collection of data types that is iterable, mutable,
and has no duplicate elements. The order of elements in a set is undefned though it may consist of
various elements.
23. How do you foor a number in Python? The Python math module includes a method that can be used
to calculate the foor of a number. foor() method in Python returns the foor of x i.e., the largest integer
not greater than x. Also, The method ceil(x) in Python returns a ceiling value of x i.e., the smallest integer
greater than or equal to x.
24. What is the difference between xrange and range functions? range() and xrange() are two functions
that could be used to iterate a certain number of times in for loops in Python. In Python 3, there is no
xrange, but the range function behaves like xrange. In Python 2 range() – This returns a range object,
which is an immutable sequence type that generates the numbers on demand. xrange() – This function
returns the generator object that can be used to display numbers only by looping. The only particular
range is displayed on demand and hence called lazy evaluation.
26. Is Tuple Comprehension? If yes, how, and if not why? (i for i in (1, 2, 3)) Tuple comprehension is not
possible in Python because it will end up in a generator, not a tuple comprehension. Python-Intrerview-
Q&A-copy
27. Differentiate between List and Tuple? Let’s analyze the differences between List and Tuple: List Lists
are Mutable datatype. Lists consume more memory The list is better for performing operations, such as
insertion and deletion. The implication of iterations is Time-consuming Tuple Tuples are Immutable
datatype. Tuple consumes less memory as compared to the list A Tuple data type is appropriate for
accessing the elements The implication of iterations is comparatively Faster
28. What is the difference between a shallow copy and a deep copy? Shallow copy is used when a new
instance type gets created and it keeps values that are copied whereas deep copy stores values that are
already copied. A shallow copy has faster program execution whereas a deep copy makes it slow.
29. Which sorting technique is used by sort() and sorted() functions of python? Python uses the Tim Sort
algorithm for sorting. It’s a stable sorting whose worst case is O(N log N). It’s a hybrid sorting algorithm,
derived from merge sort and insertion sort, designed to perform well on many kinds of real-world data.
30. What are Decorators? Decorators are a very powerful and useful tool in Python as they are the
specifc change that we make in Python syntax to alter functions easily.
31. How do you debug a Python program? By using this command we can debug a Python program: $
python -m pdb python-script.py
32. What are Iterators in Python? In Python, iterators are used to iterate a group of elements, containers
like a list. Iterators are collections of items, and they can be a list, tuples, or a dictionary. Python iterator
implements __itr__ and the next() method to iterate the stored elements. We generally use loops to
iterate over the collections (list, tuple) in Python.
33. What are Generators in Python? In Python, the generator is a way that specifes how to implement
iterators. It is a normal function except that it yields expression in the function. It does not implement
__itr__ and __next__ method and reduces other overheads as well. If a function contains at least a yield
statement, it becomes a generator. The yield keyword pauses the current execution by saving its states
and then resumes from the same when required.
34. Does Python supports multiple Inheritance? Python does support multiple inheritances, unlike Java.
Multiple inheritances mean that a class can be derived from more than one parent class.
35. What is Polymorphism in Python? Polymorphism means the ability to take multiple forms.
Polymorphism allows different classes to be treated as if they are instances of the same class through a
common interface. This means that a method in a parent class can be overridden by a method with the
same name in a child class, but the child class can provide its own specifc implementation. This allows
the same method to operate differently depending on the object that invokes it. Polymorphism is about
overriding, not overloading; it enables methods to operate on objects of different classes, which can
have their own attributes and methods, providing fexibility and reusability in the code.
36. Defne encapsulation in Python? Encapsulation means binding the code and the data together. A
Python class is an example of encapsulation.
37. How do you do data abstraction in Python? Data Abstraction is providing only the required details
and hides the implementation from the world. It can be achieved in Python by using interfaces and
abstract classes.
38. How is memory management done in Python? Python uses its private heap space to manage the
memory. Basically, all the objects and data structures are stored in the private heap space. Even the
programmer can not access this private space as the interpreter takes care of this space. Python also has
an inbuilt garbage collector, which recycles all the unused memory and frees the memory and makes it
available to the heap space.
39. How to delete a fle using Python? We can delete a fle using Python by following approaches:
os.remove() os.unlink()
40. What is slicing in Python? Python Slicing is a string operation for extracting a part of the string, or
some part of a list. With this operator, one can specify where to start the slicing, where to end, and
specify the step. List slicing returns a new list from the existing list. Syntax: Lst[ Initial : End : IndexJump ]
41. What is a namespace in Python? A namespace is a naming system used to make sure that names are
unique to avoid naming conficts.
42. What is PIP? PIP is an acronym for Python Installer Package which provides a seamless interface to
install various Python modules. It is a command-line tool that can search for packages over the internet
and install them without any user interaction.
43. What is a zip function? Python zip() function returns a zip object, which maps a similar index of
multiple containers. It takes an iterable, converts it into an iterator and aggregates the elements based
on iterables passed. It returns an iterator of tuples.
44. What are Pickling and Unpickling? The Pickle module accepts any Python object and converts it into
a string representation and dumps it into a fle by using the dump function, this process is called pickling.
While the process of retrieving original Python objects from the stored string representation is called
unpickling.
45. What is monkey patching in Python? In Python, the term monkey patch only refers to dynamic
modifcations of a class or module at run-time. # g.py class GeeksClass: def function(self): print
"function()" import m def monkey_function(self): print "monkey_function()" m.GeeksClass.function =
monkey_function obj = m.GeeksClass() obj.function()
46. What is __init__() in Python? The __init__() method in Python is equivalent to constructors in OOP
terminology. It is a reserved method in Python classes and is called automatically whenever a new object
is instantiated. This method is used to initialize the object’s attributes with values. While __init__()
initializes the object, it does not allocate memory. Memory allocation for a new object is handled by the
__new__() method, which is called before __init__().
47. Write a code to display the current time? import time currenttime= time.localtime(time.time()) print
(“Current time is”, currenttime)
48. What are Access Specifers in Python? Python uses the ‘_’ symbol to determine the access control for
a specifc data member or a member function of a class. A Class in Python has three types of Python
access modifers: Public Access Modifer: The members of a class that are declared public are easily
accessible from any part of the program. All data members and member functions of a class are public
by default. Protected Access Modifer: The members of a class that are declared protected are only
accessible to a class derived from it. All data members of a class are declared protected by adding a
single underscore ‘_’ symbol before the data members of that class. Private Access Modifer: The
members of a class that are declared private are accessible within the class only, the private access
modifer is the most secure access modifer. Data members of a class are declared private by adding a
double underscore ‘__’ symbol before the data member of that class.
49. What are unit tests in Python? Unit Testing is the frst level of software testing where the smallest
testable parts of the software are tested. This is used to validate that each unit of the software performs
as designed. The unit test framework is Python’s xUnit style framework. The White Box Testing method is
used for Unit testing.
50. Python Global Interpreter Lock (GIL)? Python Global Interpreter Lock (GIL) is a type of process lock
that is used by Python whenever it deals with processes. Generally, Python only uses only one thread to
execute the set of written statements. The performance of the single-threaded process and the multi-
threaded process will be the same in Python and this is because of GIL in Python. We can not achieve
multithreading in Python because we have a global interpreter lock that restricts the threads and works
as a single thread.
51. What are Function Annotations in Python? Function Annotation is a feature that allows you to add
metadata to function parameters and return values. This way you can specify the input type of the
function parameters and the return type of the value the function returns. Function annotations are
arbitrary Python expressions that are associated with various parts of functions. These expressions are
evaluated at compile time and have no life in Python’s runtime environment. Python does not attach any
meaning to these annotations. They take life when interpreted by third-party libraries, for example,
mypy.
52. What are Exception Groups in Python? The latest feature of Python 3.11, Exception Groups. The
ExceptionGroup can be handled using a new except* syntax. The * symbol indicates that multiple
exceptions can be handled by each except* clause. ExceptionGroup is a collection/group of different
kinds of Exception. Without creating Multiple Exceptions we can group together different Exceptions
which we can later fetch one by one whenever necessary, the order in which the Exceptions are stored in
the Exception Group doesn’t matter while calling them. 1 try: 2 raise ExceptionGroup('Example
ExceptionGroup', ( 3 TypeError('Example TypeError'), 4 ValueError('Example ValueError'), 5
KeyError('Example KeyError'), 6 AttributeError('Example AttributeError') 7 )) 8 except* TypeError: 9 ... 10
except* ValueError as e: 11 ... 12 except* (KeyError, AttributeError) as e: 13 ...
53. What is Python Switch Statement From version 3.10 upward, Python has implemented a switch case
feature called “structural pattern matching”. You can implement this feature with the match and case
keywords. Note that the underscore symbol is what you use to defne a default case for the switch
statement in Python. Note: Before Python 3.10 Python doesn’t support match Statements. 1 match
term: 2 case pattern-1: 3 action-1 4 case pattern-2: 5 action-2 6 case pattern-3: 7 action-3 8 case _: 9
action-default
54. What is Walrus Operator? The Walrus Operator allows you to assign a value to a variable within an
expression. This can be useful when you need to use a value multiple times in a loop, but don’t want to
repeat the calculation. The Walrus Operator is represented by the `:=` syntax and can be used in a variety
of contexts including while loops and if statements. Note: Python versions before 3.8 doesn’t support
Walrus Operator. 1 names = ["Jacob", "Joe", "Jim"] 2 3 if (name := input("Enter a name: ")) in names: 4
print(f"Hello, {name}!") 5 else: 6 print("Name not found.") Are you feeling lost in OS, DBMS, CN, SQL, and
DSA chaos? Our Complete Interview Preparation Course is your solution! Trusted by over 100,000+
Geeks, it covers all essential topics, ensuring you're well-prepared for technical challenges. Join the ranks
of successful candidates and unlock your placement potential. Enroll now and start your journey to a
successful career!