Top 25 Python Interview Questions and Answers Prepared by Experts

1. What is JSON? How would convert JSON data into Python data?

JSON – stands for JavaScript Object Notation. It is a popular data format for storing data in NoSQL
databases. Generally JSON is built on 2 structures.

  1.  A collection of <name, value> pairs.
  2.  An ordered list of values.
    As Python supports JSON parsers, JSON-based data is actually represented as a dictionary in Python. You can convert json data into python using load() of json module.

2. How are the functions help() and dir() different?

These are the two functions that are accessible from the Python Interpreter. These two functions are used for viewing a consolidated dump of built-in functions.

  • help() – it will display the documentation string. It is used to see the help related to modules, keywords, attributes, etc.
    To view the help related to string datatype, just execute a statement help(str) – it will display the documentation for ‘str, module. ◦ Eg: >>>help(str) or >>>help() – it will open the prompt for help as help>
  • to view the help for a module, help> module module name Inorder to view the documentation of ‘str’ at the help>, type help>modules str
  • to view the help for a keyword, topics, you just need to type, help> “keywords python- keyword” and “topics list”
  • dir() – will display the defined symbols. Eg: >>>dir(str) – will only display the defined symbols.

3. Which command do you use to exit help window or help command prompt?

When you type quit at the help’s command prompt, python shell prompt will appear by closing the help window automatically.

4. Does the functions help() and dir() list the names of all the built_in functions and variables? If no, how would you list them?

No. Built-in functions such as max(), min(), filter(), map(), etc is not apparent immediately as they are
available as part of standard module.To view them, we can pass the module ” builtins ” as an argument to “dir()”. It will display the
built-in functions, exceptions, and other objects as a list.>>>dir(__builtins )
[‘ArithmeticError’, ‘AssertionError’, ‘AttributeError’, ……… ]

5. Explain how Python does Compile-time and Run-time code checking?

Python performs some amount of compile-time checking, but most of the checks such as type, name, etc are postponed until code execution. Consequently, if the Python code references a user -defined function that does not exist, the code will compile successfully. In fact, the code will fail with an exception only when the code execution path references the function which does not exists.

6. Whenever Python exists Why does all the memory is not de-allocated / freed when Python exits?

Whenever Python exits, especially those python modules which are having circular references to other objects or the objects that are referenced from the global namespaces are not always de – allocated/freed/uncollectable.
It is impossible to deallocate those portions of memory that are reserved by the C library.
On exit, because of having its own efficient clean up mechanism, Python would try to deallocate/
destroy every object.

7. Explain Python’s zip() function.?

zip() function- it will take multiple lists say list1, list2, etc and transform them into a single list of tuples by taking the corresponding elements of the lists that are passed as parameters.

list1 = [‘A’,

‘B’,’C’] and list2 = [10,20,30].

zip(list1, list2) # results in a list of tuples say [(‘A’,10),(‘B’,20),(‘C’,30)]

whenever the given lists are of different lengths, zip stops generating tuples when the first list ends.

8. Explain Python’s pass by references Vs pass by value . (or) Explain about Python’s parameter passing mechanism?

In Python, by default, all the parameters (arguments) are passed “by reference” to the functions. Thus, if you change the value of the parameter within a function, the change is reflected in the calling function.We can even observe the pass “by value” kind of a behaviour whenever we pass the arguments to functions that are of type say numbers, strings, tuples. This is because of the immutable nature of them.

9. As Everything in Python is an Object, Explain the characteristics of Python’s Objects.

  • As Python’s Objects are instances of classes, they are created at the time of instantiation. Eg: object-name = class-name(arguments)
  • one or more variables can reference the same object in Python
  • Every object holds unique id and it can be obtained by using id() method. Eg: id(obj-name) will return unique id of the given object.
    every object can be either mutable or immutable based on the type of data they hold.
  •  Whenever an object is not being used in the code, it gets destroyed automatically garbage collected or destroyed
  •  contents of objects can be converted into string representation using a method

10. Explain how to overload constructors or methods in Python.

Python’s constructor – _init__ () is a first method of a class. Whenever we try to instantiate a object __init__() is automatically invoked by python to initialize members of an object.

11. Which statement of Python is used whenever a statement is required syntactically but the program needs no action?

Pass – is no-operation / action statement in Python
If we want to load a module or open a file, and even if the requested module/file does not exist, we want to continue with other tasks. In such a scenario, use try-except block with pass statement in the except block.

try:import mymodulemyfile = open(“C:\myfile.csv”)except:pass

12. What is Web Scraping? How do you achieve it in Python?

Web Scrapping is a way of extracting the large amounts of information which is available on the web sites and saving it onto the local machine or onto the database tables.
In order to scrap the web:load the web page which is interesting to you. To load the web page, use “requests” module.
parse HTML from the web page to find the interesting information.Python has few modules for scraping the web. They are urllib2, scrapy, pyquery, BeautifulSoap, etc.

13. What is a Python module?

A module is a Python script that generally contains import statements, functions, classes and variable definitions, and Python runnable code and it “lives” file with a ‘.py’ extension. zip files and DLL files can also be modules.Inside the module, you can refer to the module name as a string that is stored in the global variable name .
A module can be imported by other modules in one of the two ways. They are

  1.  import
  2. from module-name import

14. Name the File-related modules in Python?

Python provides libraries / modules with functions that enable you to manipulate text files and binary files on file system. Using them you can create files, update their contents, copy, and delete files. The libraries are : os, os.path, and shutil.
Here, os and os.path – modules include functions for accessing the filesystem
shutil – module enables you to copy and delete the files.

15. Explain the use of with statement?

In python generally “with” statement is used to open a file, process the data present in the file, and also to close the file without calling a close() method. “with” statement makes the exception handling simpler by providing cleanup activities.
General form of with:
with open(“file name”, “mode”) as file-var:
processing statements
note: no need to close the file by calling close() upon file-var.close()

16. Explain all the file processing modes supported by Python ?

Python allows you to open files in one of the three modes. They are:
read-only mode, write-only mode, read-write mode, and append mode by specifying the flags “r”, “w”, “rw”, “a” respectively.
A text file can be opened in any one of the above said modes by specifying the option “t” along with
“r”, “w”, “rw”, and “a”, so that the preceding modes become “rt”, “wt”, “rwt”, and “at”.A binary file can be opened in any one of the above said modes by specifying the option “b” along with “r”, “w”, “rw”, and “a” so that the preceding modes become “rb”, “wb”, “rwb”, “ab”.

17. Explain how to redirect the output of a python script from standout(ie., monitor) on to a file ?

They are two possible ways of redirecting the output from standout to a file.

  1.  Open an output file in “write” mode and the print the contents in to that file, using sys.stdout attribute.
    import sys
    filename = “outputfile” sys.stdout = open() print “testing”
  2. you can create a python script say .py file with the contents, say print “testing” and then redirect it to the output file while executing it at the command prompt.
    Eg: has the following code:
    print “Testing”
    execution: python > outputfile.

18. Explain the shortest way to open a text file and display its contents.?

The shortest way to open a text file is by using “with” command as follows:

with open(“file-name”, “r”) as fp:

fileData =

#to print the contents of the file print(fileData)

19. How do you create a dictionary which can preserve the order of pairs?

We know that regular Python dictionaries iterate over <key, value> pairs in an arbitrary order, hence they do not preserve the insertion order of <key, value> pairs.
Python 2.7. introduced a new “OrderDict” class in the “collections” module and it provides the same interface like the general dictionaries but it traverse through keys and values in an ordered manner depending on when a key was first inserted.

from collections import OrderedDict

d = OrderDict([(‘Company-id’:1),(‘Company-Name’:’myTectra’)])

d.items() # displays the output as: [(‘Company-id’:1),(‘Company-Name’:’myTectra’)]

20. When does a dictionary is used instead of a list?

Dictionaries – are best suited when the data is labelled, i.e., the data is a record with field names.
lists – are better option to store collections of un-labelled items say all the files and sub directories in a folder.
Generally Search operation on dictionary object is faster than searching a list object.

21. What is the use of enumerate() in Python?

Using enumerate() function you can iterate through the sequence and retrieve the index position and its corresponding value at the same time.
>>> for i,v in enumerate([‘Python’,’Java’,’C++’]):
0 Python
1 Java
2 C++

22. How many kinds of sequences are supported by Python? What are they?

Python supports 7 sequence types. They are str, list, tuple, unicode, bytearray, xrange, and buffer. where xrange is deprecated in python 3.5.X.

23. How do you perform pattern matching in Python? Explain

Regular Expressions/REs/ regexes enable us to specify expressions that can match specific “parts” of a given string. For instance, we can define a regular expression to match a single character or a digit, a telephone number, or an email address, etc.The Python’s “re” module provides regular expression patterns and was introduce from later versions of Python 2.5. “re” module is providing methods for search text strings, or replacing text strings along with methods for splitting text strings based on the pattern defined.

24. Name few methods for matching and searching the occurrences of a pattern in a given text String ?

There are 4 different methods in “re” module to perform pattern matching. They are:
match() – matches the pattern only to the beginning of the String. search() – scan the string and look for a location the pattern matches findall() – finds all the occurrences of match and return them as a list
finditer() – finds all the occurrences of match and return them as an iterator.

25. Explain split(), sub(), subn() methods of

To modify the strings, Python’s “re” module is providing 3 methods. They are:
split() – uses a regex pattern to “split” a given string into a list.
sub() – finds all substrings where the regex pattern matches and then replace them with a different string
subn() – it is similar to sub() and also returns the new string along with the no. of


Review Date
Reviewed Item
Really amazing interview questions which helped me to crack my interview easily.
Author Rating