Python is the one of the most sought after skill in today’s marketplace.
By mastering the Python programming language, you too can join the ranks of programming gurus and wizards that employers seek to fill positions in companies that specializes in fields such as data science, machine learning, business intelligence or are scientific and numerical in nature. To be hired, you you should be proficient with Python and Python interview questions.
Knowing everything about programming in Python including how to inherit from multiple classes to slicing and working comfortably with all of its data structures including arrays, strings, lists, tuples and matrices.
The best thing you can do for yourself and your career is to study up and be prepared to answer some tough Python interview questions.
Being prepared will help ease the tension and lessen the intimidation of a technical interview. To help you prepare for the technical interview ahead, we have compiled the most common Python interview questions in 2020.
Practice with a friend by having your friend ask you these questions. If possible, use your smartphone and video the practice interview and check your answers and the way you answered the questions.
Q1: Tell me what are the key features of Python?
A1: Here are some of the key features of Python. Python Interview Tip: Choose at least 5 of them and speak confidently about why Python is great.
Interpreted vs Compiled (like C) | Python is an interpreted language that means the code does not have to be compiled before use. |
Dynamically Typed | You don’t need to declare the data type of a variable. Python automatically identifies the data type by the value you store in it. |
OOP | Python follows the object-oriented paradigm meaning that you have the power of encapsulation, inheritance, polymorphism, etc. |
Cross-platform | Once written, Python can be transported to another platform with little to no modifications. |
General Purpose | Python is a general purpose language meaning that it can be used for anything including data science, machine learning, automation, learning, scientific, mathematical, etc. |
Functions and Classes are First-Class Objects | Python functions and classes can be assigned to variables and passed as arguments to other functions. |
Extensive Libraries | Python provides an extensive list of libraries to extend the language with powerful functions and methods. |
Q2: What is the purpose of the PYTHONPATH environment variable?
A2: Python uses environment variables to set up the environment to which Python will operate in. The PYTHONPATH is used to contain the path or directory to where Python’s modules and packages are to be found. Note that the PYTHONPATH variable is usually setup when Python is installed.
Q3: What are the PYTHONSTARTUP, PYTHONCASEOK and PYTHONHOME environment variables?
A3: PYTHONSTARTUP is a path you set for a Python file that will be run before starting the Python interpreter mode (ie. interpreter). It is used to initialize settings such as the color, preloading common-use modules, etc.
PYTHONCASEOK is used to enable finding module files on filesystems which are case insensitive.
PYTHONHOME is an alternate module search path.
Q4: What is the difference between a list and a tuple?
A4: The main difference between a list and a tuple is that a list is mutable and a tuple is immutable. A tuple cannot be added upon or dimensions changed whereas a list can. A good example is the (x, y, z) tuple used as an axis in a mathematical sense. There is relevance to changing that.
Q5: Explain inheritance in Python? And does Python support multiple inheritance?
A5: Inheritance is when a (child) class takes on certain traits of another class. The parent class or the class to which classes inherit from, will define base variables and methods for child classes to use.
Unlike Java, Python supports multiple inheritance.
Q6: What is a dictionary in Python and how do you create one?
A6: A Python dictionary is a data structure that is implemented with key-value pairs. Known as an associative array in other languages, a dictionary associates a value to a key. To create a dictionary in Python, curly brackets are used to define a dictionary as follows:
Sampledict = {“make”: KIA, “model”: Soul, “engine size”: “1.6L”}
Q7: What are negative indexes used for?
A7: Negative indexes allow you to count from the right instead of from the left. In other words, you can index a string or a list from the end to the start.
Q8: What is the difference between range and xrange?
A8: Both functions generate a list of integers for you to use but the difference is that the range() function returns a Python list object and the xrange() returns a xrange object.
Q9: What module has split(), sub() and subn() methods? And what do these methods do?
A9: These functions are from the Regular Expression (re) module and are used to modify string expressions.
split() | This function splits the string according to the occurrences of a character or a pattern. When Python finds the character or pattern, it returns the remaining characters from the string as part of the resulting list. See How To Use Split In Python |
sub() | This function searches a string for a pattern and when found, replaces the substring with a replacement string. |
subn() | This function is similar to sub() but its output differs in that it returns a tuple with a count of the total of all replacements and the new string. |
Q10: What is pickling and unpickling mean in Python? And when would you use it?
A10: The pickle module is used to serialize (or pickling) or de-serialize (unpickling) Python object structures. One use of pickling and unpickling is when you want to store a Python object into a database. To do this, you would have to convert an object into a byte stream before saving it in a database.
Q11: What is the map() function used for?
A11: The map() function takes two parameters, a function and an iterable list. The function is applied to every element in the iterable list.
Q12: What is the ‘with’ statement and when would you use it?
A12: The ‘with’ statement is a compound statement that is used in exception handling. It simplifies the management of resources like file streams.
Q13: Does Python require indentation or is that used to make code easier to read?
A13: Indentation in other languages are used to make code more readable, however in Python, indentation indicates a block of code.
Q14: What module would you find the random() function?
A14: You can find the function random() in NumPy that generates random numbers.
Q15: What is NumPy?
A15: NumPy is the fundamental package for scientific computing. It is an open source library that contains a multi-dimensional array (or matrix data structures).
Q16: Explain local and global variables in Python.
A16: Local variables are only accessible within a block and global variables are accessible throughout the code. To declare a global variable, the global keyword is used.
Q17: What would you use to store a bunch of data of different types? An array or a list?
A17: Arrays in Python are the most restrictive data structures because the elements stored in an array must be of the same data type. The answer is list because only a list can contain elements of different data types.
Q18: How is Python an interpreted language?
A18: Python code is not in machine level code before runtime. This makes Python an interpreted language.
Q19: What is a Python decorator?
A19: A decorator is any callable object that is used to modify a function or class. A reference to the function or class is passed to the decorator and the decorator returns a modified function or class. (It is interesting to note that Python usually passes its arguments by value but in the case of decorators, the function or class is passed by reference).
Q20: Are Python strings immutable or mutable?
A20: In Python, strings are immutable. You cannot modify the string object but you can create a new string object by reassigning the variable.
Q21: What is slicing?
A21: Slicing in Python means to provide a ‘slice’ or a piece of a sequence, string, list or tuple.
Q22: What do you use to catch and handle exceptions?
A22: To catch and handle exceptions, the try statement is used.
Q23: What is self in Python?
A23: The self is used to represent the instance of a class so to access attributes and methods.
Q24: What functions do you use to add elements to an array?
A24: There are three functions: append(), insert() and extend(). The append() will add elements to the end of a list, the insert() will add elements within a list and the extend() will add another list to an existing list.
Q25: What is the difference between a shallow copy and a deep copy?
A25: Shallow copy makes a copy of the address and deep copy makes a copy of the address and the data that an address references.
Q26: Does Python support multiple inheritance?
A26: Unlike Java, Python supports multiple inheritance.
Q27: How to remove values in a Python array?
A27: There are two functions available to remove elements from an array. They are pop() and remove().
Q28: What will alist.index(value) return if the value is not in alist? Will it be zero or something else?
A28: If the value specified in the index() function is not found in a list then Python will return the ValueError exception
Q29: What is _init_?
A29: The _init_ is a constructor method that is used to initialize the attributes of a class when an object is instantiated.
Q30: What is mylist[-1] if mylist = [2, 244, 56, 95]?
A30: The answer is 95.
Q31: What is a lambda function?
A31: Lambda functions are anonymous functions defined with no name and can have as many arguments as required. The only stipulation is that lambda functions have one expression only. There is no explicit return because when the expression is evaluated, the value returned implicitly.
Q32: What are the differences between break, continue and pass?
A32: The break, continue and pass statements are used in FOR and WHILE loops when certain conditions occur. The break statement allows you to exit a loop if an external condition occurs. Usually the break is used in an if statement to test a condition inside a loop. The continue statement allows you to skip over the part of the loop by not executing anything else after the continue statement. The pass statement allows you to continue the part of the loop as though the external condition was not satisfied.
Q33: What does [::-1] do?
A33: It reverses a list.
Q34: How to check if a string is numeric?
A34: The function isnumeric() returns true if all characters in a string is numeric.
Q35: What function splits up a string at line breaks?
A35: The function splitlines() will split a string at line breaks.
Q36: What is the output of print mylist[0] if mylist = [‘hello’, ‘world’, ‘in’, ‘Paris’]?
A36: The answer is ‘hello’ because the index 0 represents the first element.
Q37: What is the output of print str * 2 if str = ‘Hello’?
A37: The multiplier will repeat a string a number of times. So the answer is ‘HelloHello’
Q38: What is the output of print str[2:5] if str = ‘Hello World’?
A38: The answer is ‘llo‘.
Q39: How to convert characters to integer?
A39: The function ord() will convert characters to integers. While you’re at it, learn additional conversions such as converting integers to octal.
Q40: What is the difference between a list and an array?
A40: Arrays are more efficient than lists in Python when it comes to storing large amounts of data but the values in arrays must all be of the same type. Arrays are great for numerical calculation whereas lists are not. For example, you can divide each element in an array with one line of code. With a list, you would need several lines of code to do the same thing.
Q41: What exception is raised when a module cannot be loaded?
A41: ImportError is raised when the import statement fails to load a module.
Q42: Provide the code to initialize a 5 by 5 Numpy array with zeros?
A42: The answer is as follows:
import numpy as np
n1 = np.zeros((5,5))
n1
Q43: Provide the code to create a dataframe from a dictionary?
A43: The answer is as follows:
import pandas as pd
colors = [“blue”, “green”, “white”, “black”]
cars = [“toyota”, “honda”, “kia”, “BMW”]
d = {“cars”: cars, “colors”: Colors}
f = pd.Dataframe(d)
f
Q44: What is the difference between append() and extend() on a list?
A44: The append() will add an element to the end of a list while the extend() will add another list to a list.
Eg. list1 = [1, 2, 3]
list1.append(4)
list1 = [1, 2, 3, 4]
eg. list2 = [5, 6, 7, 8]
list1.extend(list2)
list1 = [1, 2, 3, 4, 5, 6, 7, 8]
Q45: What is the difference between the index() function and the find() function?
A45: Both functions will search an iterator for a value. The only difference is that the index() function will break and return the ValueError exception if the value is not part of the iterator. The find() function will return -1 if the value is not found.
Q46: What exception is raised when the user presses a Ctrl-C or the Delete key?
A46: The KeyboardInterrupt exception is raised.
Q47: Does Python support recursion? If so, how deep can you go? What happens if you exceed that?
A47: Yes, Python supports recursion and the maximum level is 997. If you exceed it, the RecursionError exception is raised.
Q48: How is memory managed in Python?
A48: All Python objects and data structures are kept in a private heap that is not accessible by the programmer. Whenever an object requires memory, the Python memory manager allocates space in the heap. Python has an inbuilt garbage collector that recovers space in the private heap for more allocations.
Q49: Can you create an empty class in Python? If so, how?
A49: An empty class can be created using the pass statement but note that you can still instantiate the class.
Q50: How do you write comments in Python code?
A50: Comments are prefixed with ‘#’. See How to use Comments in Python
In summary, studying these python interview questions will put you ahead of the game. Spend time going over the answers so that you can provide your own, confident interpretation of each answer.
Recommended Python Training
Course: Python 3 For Beginners
Over 15 hours of video content with guided instruction for beginners. Learn how to create real world applications and master the basics.