Python Interview Questions TechM
Python Interview Questions TechM
Python Interview Questions TechM
Python is a programming language with objects, modules, threads, exceptions and automatic
memory management. The benefits of pythons are that it is simple and easy, portable, extensible,
build-in data structure and it is an open source.
2) What is PEP 8?
PEP 8 is a coding convention, a set of recommendation, about how to write your Python code
more readable.
Pickle module accepts any Python object and converts it into a string representation and dumps it
into a file by using dump function, this process is called pickling. While the process of retrieving
original Python objects from the stored string representation is called unpickling.
Python language is an interpreted language. Python program runs directly from the source code. It
converts the source code that is written by the programmer into an intermediate language, which
is again translated into machine language that has to be executed.
• Python memory is managed by Python private heap space. All Python objects and data
structures are located in a private heap. The programmer does not have an access to this
private heap and interpreter takes care of this Python private heap.
• The allocation of Python heap space for Python objects is done by Python memory
manager. The core API gives access to some tools for the programmer to code.
• Python also have an inbuilt garbage collector, which recycle all the unused memory and
frees the memory and makes it available to the heap space.
6) What are the tools that help to find bugs or perform static analysis?
PyChecker is a static analysis tool that detects the bugs in Python source code and warns about
the style and complexity of the bug. Pylint is another tool that verifies whether the module meets
the coding standard.
A Python decorator is a specific change that we make in Python syntax to alter functions easily.
Everything in Python is an object and all variables hold references to the objects. The references
values are according to the functions; as a result you cannot change the value of the references.
However, you can change the objects if it is mutable.
They are syntax constructions to ease the creation of a Dictionary or List based on existing
iterable.
There are mutable and Immutable types of Pythons built in types Mutable built-in types
• List
• Sets
• Dictionaries
• Strings
• Tuples
• Numbers
In Python, every name introduced has a place where it lives and can be hooked for. This is known
as namespace. It is like a box where a variable name is mapped to the object placed. Whenever
the variable is searched out, this box will be searched, to get corresponding object.
A lambda form in python does not have statements as it is used to make new function object and
then return them at runtime.
Pass means, no-operation Python statement, or in other words it is a place holder in compound
statement, where there should be a blank left and nothing has to be written there.
16) In Python what are iterators?
In Python, iterators are used to iterate a group of elements, containers like list.
A unit testing framework in Python is known as unittest. It supports sharing of setups, automation
testing, shutdown code for tests, aggregation of tests into collections etc.
A mechanism to select a range of items from sequence types like list, tuple, strings etc. is known as
slicing.
The way of implementing iterators are known as generators. It is a normal function except that it
yields expression in the function.
To copy an object in Python, you can try copy.copy () or copy.deepcopy() for the general case. You
cannot copy all objects but most of them.
Python sequences can be index in positive and negative numbers. For positive index, 0 is the first
index, 1 is the second index and so forth. For negative index, (-1) is the last index and (-2) is the
second last index and so forth.
In order to convert a number into a string, use the inbuilt function str(). If you want a octal or
hexadecimal representation, use the inbuilt function oct() or hex().
Xrange returns the xrange object while range returns the list, and uses the same memory and no
matter what the range size is.