Question 1. What Is Python?
Answer :
Python is an interpreted, interactive, object-oriented programming
language. It incorporates modules, exceptions, dynamic typing, very high level
dynamic data types, and classes. Python combines remarkable power with very
clear syntax. It has interfaces to many system calls and libraries, as well as
to various window systems, and is extensible in C or C++. It is also usable as
an extension language for applications that need a programmable interface.
Finally, Python is portable: it runs on many Unix variants, on the Mac, and on
PCs under MS-DOS, Windows, Windows NT, and OS/2.
Question 2. Is There A
Tool To Help Find Bugs Or Perform Static Analysis?
Answer :
Yes.
PyChecker is a static analysis tool that finds bugs in Python source code and
warns about code complexity and style.
Pylint is another tool that checks if a module satisfies a coding standard, and
also makes it possible to write plug-ins to add a custom feature.
Question 3. What Are The
Rules For Local And Global Variables In Python?
Answer :
In Python, variables
that are only referenced inside a function are implicitly global. If a variable
is assigned a new value anywhere within the function's body, it's assumed to be
a local. If a variable is ever assigned a new value inside the function, the
variable is implicitly local, and you need to explicitly declare it as
'global'.
Though a bit surprising
at first, a moment's consideration explains this. On one hand, requiring global
for assigned variables provides a bar against unintended side-effects. On the
other hand, if global was required for all global references, you'd be using
global all the time. You'd have to declare as global every reference to a
builtin function or to a component of an imported module. This clutter would
defeat the usefulness of the global declaration for identifying side-effects.
Question 4. How Do I
Share Global Variables Across Modules?
Answer :
The canonical way to
share information across modules within a single program is to create a special
module (often called config or cfg). Just import the config module in all
modules of your application; the module then becomes available as a global
name. Because there is only one instance of each module, any changes made to
the module object get reflected everywhere. For example:
config.py:
x = 0 # Default value of the 'x' configuration setting
mod.py:
import config
config.x = 1
main.py:
import config
import mod
print config.x
Question 5. How Do I
Copy An Object In Python?
Answer :
In general, try copy.copy()
or copy.deepcopy() for the general case. Not all objects can be copied, but
most can.
Some objects can be copied more easily. Dictionaries have a copy() method:
newdict = olddict.copy()
Sequences can be copied by slicing:
new_l = l[:]
Question 6. How Can I
Find The Methods Or Attributes Of An Object?
Answer :
For an instance x of a user-defined class, dir(x) returns an
alphabetized list of the names containing the instance attributes and methods
and attributes defined by its class.
Question 7. Is There An
Equivalent Of C's "?:" Ternary Operator?
Answer :
No
Question 8. How Do I
Convert A Number To A String?
Answer :
To convert, e.g., the number 144 to the string '144', use the
built-in function str(). If you want a hexadecimal or octal representation, use
the built-in functions hex() or oct(). For fancy formatting, use the % operator
on strings, e.g. "%04d" % 144 yields '0144' and "%.3f" %
(1/3.0) yields '0.333'.
Question 9. What's A
Negative Index?
Answer :
Python sequences are
indexed with positive numbers and negative numbers. For positive numbers 0 is
the first index 1 is the second index and so forth. For negative indices -1 is
the last index and -2 is the penultimate (next to last) index and so forth.
Think of seq[-n] as the same as seq[len(seq)-n].
Using negative indices can be very convenient. For example S[:-1] is all of the
string except for its last character, which is useful for removing the trailing
newline from a string.
Question 10. How Do I
Apply A Method To A Sequence Of Objects?
Answer :
Use a list
comprehension:
result = [obj.method() for obj in List]
Question 11. What Is A
Class?
Answer :
A class is the
particular object type created by executing a class statement. Class objects
are used as templates to create instance objects, which embody both the data
(attributes) and code (methods) specific to a datatype.
A class can be based on one or more other classes, called its base class(es).
It then inherits the attributes and methods of its base classes. This allows an
object model to be successively refined by inheritance. You might have a
generic Mailbox class that provides basic accessor methods for a mailbox, and
subclasses such as MboxMailbox, MaildirMailbox, OutlookMailbox that handle
various specific mailbox formats.
Question 12. What Is A
Method?
Answer :
A method is a function
on some object x that you normally call as x.name(arguments...). Methods are
defined as functions inside the class definition:
class C:
def meth (self, arg):
return arg*2 + self.attribute
Question 13. What Is Self?
Answer :
Self is merely a conventional name for the first argument of a
method. A method defined as meth(self, a, b, c) should be called as x.meth(a,
b, c) for some instance x of the class in which the definition occurs; the
called method will think it is called as meth(x, a, b, c).
Question 14. How Do I
Call A Method Defined In A Base Class From A Derived Class That Overrides It?
Answer :
If you're using
new-style classes, use the built-in super() function:
class Derived(Base):
def meth (self):
super(Derived, self).meth()
If you're using classic classes: For a class definition such as class
Derived(Base): ... you can call method meth() defined in Base (or one of Base's
base classes) as Base.meth(self, arguments...). Here, Base.meth is an unbound
method, so you need to provide the self argument.
Question 15. How Do I
Find The Current Module Name?
Answer :
A module can find out
its own module name by looking at the predefined global variable __name__. If
this has the value '__main__', the program is running as a script. Many modules
that are usually used by importing them also provide a command-line interface
or a self-test, and only execute this code after checking __name__:
def main():
print 'Running test...'
...
if __name__ == '__main__':
main()
__import__('x.y.z') returns
Try:
__import__('x.y.z').y.z
For more realistic situations, you may have to do something like
m = __import__(s)
for i in s.split(".")[1:]:
m = getattr(m, i)
Question 16. Where Is
The Math.py (socket.py, Regex.py, Etc.) Source File?
Answer :
There are (at least)
three kinds of modules in Python:
1. modules written in Python (.py);
2. modules written in C and dynamically loaded (.dll, .pyd, .so, .sl, etc);
3. modules written in C and linked with the interpreter; to get a list of
these, type:
import sys
print sys.builtin_module_names
Question 17. How Do I
Delete A File?
Answer :
Use os.remove(filename) or os.unlink(filename);
Question 18. How Do I
Copy A File?
Answer :
The shutil module contains a copyfile() function.
Question 19. How Do I Run
A Subprocess With Pipes Connected To Both Input And Output?
Answer :
Use the popen2 module.
For example:
import popen2
fromchild, tochild = popen2.popen2("command")
tochild.write("input\n")
tochild.flush()
output = fromchild.readline()
Question 20. How Do I
Avoid Blocking In The Connect() Method Of A Socket?
Answer :
The select module is commonly used to help with asynchronous I/O
on sockets.
Question 21. Are There
Any Interfaces To Database Packages In Python?
Answer :
Yes.
Python 2.3 includes the bsddb package which provides an interface to the
BerkeleyDB library. Interfaces to disk-based hashes such as DBM and GDBM are
also included with standard Python.
Question 22. How Do I
Generate Random Numbers In Python?
Answer :
The standard module
random implements a random number generator. Usage is simple:
import random
random.random()
This returns a random floating point number in the range [0, 1).
Question 23. Can I
Create My Own Functions In C?
Answer :
Yes, you can create built-in modules containing functions,
variables, exceptions and even new types in C.
Question 24. Can I
Create My Own Functions In C++?
Answer :
Yes, using the C compatibility features found in C++. Place extern
"C" { ... } around the Python include files and put extern
"C" before each function that is going to be called by the Python
interpreter. Global or static C++ objects with constructors are probably not a
good idea.
Question 25. How Can I
Execute Arbitrary Python Statements From C?
Answer :
The highest-level function to do this is PyRun_SimpleString()
which takes a single string argument to be executed in the context of the
module __main__ and returns 0 for success and -1 when an exception occurred
(including SyntaxError).
Question 26. How Can I
Evaluate An Arbitrary Python Expression From C?
Answer :
Call the function PyRun_String() from the previous question with
the start symbol Py_eval_input; it parses an expression, evaluates it and
returns its value.
Question 27. How Do I
Interface To C++ Objects From Python?
Answer :
Depending on your requirements, there are many approaches. To do
this manually, begin by reading the "Extending and Embedding"
document. Realize that for the Python run-time system, there isn't a whole lot
of difference between C and C++ -- so the strategy of building a new Python
type around a C structure (pointer) type will also work for C++ objects.
Question 28. How Do I
Make Python Scripts Executable?
Answer :
On Windows 2000, the standard Python installer already associates
the .py extension with a file type (Python.File) and gives that file type an
open command that runs the interpreter (D:Program FilesPythonpython.exe
"%1" %*). This is enough to make scripts executable from the command
prompt as 'foo.py'. If you'd rather be able to execute the script by simple
typing 'foo' with no extension you need to add .py to the PATHEXT environment
variable.
On Windows NT, the steps taken by the installer as described above
allow you to run a script with 'foo.py', but a longtime bug in the NT command
processor prevents you from redirecting the input or output of any script
executed in this way. This is often important.
The incantation for making a Python script executable under WinNT
is to give the file an extension of .cmd and add the following as the first
line:
@setlocal enableextensions & python -x %~f0 %* & goto :EOF
Question 29. How Do I
Debug An Extension?
Answer :
When using GDB with
dynamically loaded extensions, you can't set a breakpoint in your extension
until your extension is loaded.
In your .gdbinit file (or interactively), add the command:
br _PyImport_LoadDynamicModule
Then, when you run GDB:
$ gdb /local/bin/python
gdb) run myscript.py
gdb) continue # repeat until your extension is loaded
gdb) finish # so that your extension is loaded
gdb) br myfunction.c:50
gdb) continue
Question 30. Where Is
Freeze For Windows?
Answer :
"Freeze" is a program that allows you to ship a Python
program as a single stand-alone executable file. It is not a compiler; your
programs don't run any faster, but they are more easily distributable, at least
to platforms with the same OS and CPU.
Question 31. Is A *.pyd
File The Same As A Dll?
Answer :
Yes .
Question 32. How Do I
Emulate Os.kill() In Windows?
Answer :
Use win32api:
def kill(pid):
"""kill function for Win32"""
import win32api
handle = win32api.OpenProcess(1, 0, pid)
return (0 != win32api.TerminateProcess(handle, 0))
Question 33. Explain
About The Programming Language Python?
Answer :
Python is a very easy language and can be learnt very easily than
other programming languages. It is a dynamic object oriented language which can
be easily used for software development. It supports many other programming
languages and has extensive library support for many other languages.
Question 34. Explain
About The Use Of Python For Web Programming?
Answer :
Python can be very well used for web programming and it also has
some special features which make you to write the programming language very
easily. Some of the features which it supports are Web frame works, Cgi
scripts, Webservers, Content Management systems, Web services, Webclient
programming, Webservices, etc. Many high end applications can be created with
Python because of the flexibility it offers.
Question 35. State Some
Programming Language Features Of Python?
Answer :
Python supports many
features and is used for cutting edge technology. Some of them are
1) A huge pool of data types such as lists, numbers and dictionaries.
2) Supports notable features such as classes and multiple inheritance.
3) Code can be split into modules and packages which assists in flexibility.
4) It has good support for raising and catching which assists in error
handling.
5) Incompatible mixing of functions, strings, and numbers triggers an error
which also helps in good programming practices.
6) It has some advanced features such as generators and list comprehensions.
7) This programming language has automatic memory management system which helps
in greater memory management.
Question 36. How Is
Python Interpreted?
Answer :
Python has an internal software mechanism which makes your
programming easy. Program can run directly from the source code. Python
translates the source code written by the programmer into intermediate language
which is again translated it into the native language of computer. This makes
it easy for a programmer to use python.
Question 37. Does Python
Support Object Oriented Scripting?
Answer :
Python supports object oriented programming as well as procedure
oriented programming. It has features which make you to use the program code
for many functions other than Python. It has useful objects when it comes to
data and functionality. It is very powerful in object and procedure oriented
programming when compared to powerful languages like C or Java.
Question 38. Describe
About The Libraries Of Python?
Answer :
Python library is very huge and has some extensive libraries.
These libraries help you do various things involving CGI, documentation
generation, web browsers, XML, HTML, cryptography, Tk, threading, web browsing,
etc. Besides the standard libraries of python there are many other libraries
such as Twisted, wx python, python imaging library, etc.
Question 39. State And
Explain About Strings?
Answer :
Strings are almost used everywhere in python. When you use single
and double quotes for a statement in python it preserves the white spaces as
such. You can use double quotes and single quotes in triple quotes. There are
many other strings such as raw strings, Unicode strings, once you have created
a string in Python you can never change it again.
Question 40. Explain
About Classes In Strings?
Answer :
Classes are the main feature of any object oriented programming.
When you use a class it creates a new type. Creating class is the same as in
other programming languages but the syntax differs. Here we create an object or
instance of the class followed by parenthesis.
Question 41. What Is
Tuple?
Answer :
Tuples are similar to lists. They cannot be modified once they are
declared. They are similar to strings. When items are defined in parenthesis separated
by commas then they are called as Tuples. Tuples are used in situations where
the user cannot change the context or application; it puts a restriction on the
user.
Question 42. Explain And
Statement About List?
Answer :
As the name specifies list holds a list of data items in an
orderly manner. Sequence of data items can be present in a list. In python you
have to specify a list of items with a comma and to make it understand that we
are specifying a list we have to enclose the statement in square brackets. List
can be altered at any time.
Question 43. Explain
About The Dictionary Function In Python?
Answer :
A dictionary is a place where you will find and store information
on address, contact details, etc. In python you need to associate keys with
values. This key should be unique because it is useful for retrieving
information. Also note that strings should be passed as keys in python. Notice
that keys are to be separated by a colon and the pairs are separated themselves
by commas. The whole statement is enclosed in curly brackets.
Question 44. Explain
About Indexing And Slicing Operation In Sequences?
Answer :
Tuples, lists and strings are some examples about sequence. Python
supports two main operations which are indexing and slicing. Indexing operation
allows you to fetch a particular item in the sequence and slicing operation
allows you to retrieve an item from the list of sequence. Python starts from
the beginning and if successive numbers are not specified it starts at the
last. In python the start position is included but it stops before the end
statement.
Question 45. Explain
About Raising Error Exceptions?
Answer :
In python programmer can raise exceptions using the raise
statement. When you are using exception statement you should also specify about
error and exception object. This error should be related to the derived class
of the Error. We can use this to specify about the length of the user name,
password field, etc.
Question 46. What Is A
Lambda Form?
Answer :
This lambda statement is used to create a new function which can
be later used during the run time. Make_repeater is used to create a function
during the run time and it is later called at run time. Lambda function takes
expressions only in order to return them during the run time.
Question 47. Explain
About Assert Statement?
Answer :
Assert statement is used to assert whether something is true or
false. This statement is very useful when you want to check the items in the
list for true or false function. This statement should be predefined because it
interacts with the user and raises an error if something goes wrong.
Question 48. Explain
About Pickling And Unpickling?
Answer :
Python has a standard module known as Pickle which enables you to
store a specific object at some destination and then you can call the object
back at later stage. While you are retrieving the object this process is known
as unpickling. By specifying the dump function you can store the data into a
specific file and this is known as pickling.
Question 49. What Is The
Difference Between A Tuple And A List?
Answer :
A tuple is a list that
is immutable. A list is mutable i.e. The members can be changed and altered but
a tuple is immutable i.e. the members cannot be changed.
Other significant difference is of the syntax. A list is defined as
list1 = [1,2,5,8,5,3,]
list2 = ["Sachin", "Ramesh", "Tendulkar"]
A tuple is defined in the following way
tup1 = (1,4,2,4,6,7,8)
tup2 = ("Sachin","Ramesh", "Tendulkar")
Question 50. If Given
The First And Last Names Of Bunch Of Employees How Would You Store It And What
Datatype?
Answer :
Either a dictionary or just a list with first and last names
included in an element.
Question 51. What Will
Be The Output Of The Following Code
class C(object):
Def__init__(self):
Self.x =1
C=c()
Print C.x
Print C.x
Print C.x
Print C.x
Answer :
All the outputs will be 1
1
1
1
1
Q1. What is the difference between list and tuples in Python?
- Python is an interpreted language.
That means that, unlike languages like C and its
variants, Python does not need to be compiled before it is run. Other
interpreted languages include PHP and Ruby.
- Python
is dynamically typed, this means that you don’t need to state
the types of variables when you declare them or anything like that. You
can do things like x=111 and
then x="I'm a string" without error
- Python
is well suited to object orientated programming in that it allows the definition
of classes along with composition and inheritance. Python does not have
access specifiers (like C++’s public, private).
- In
Python, functions are first-class objects. This means
that they can be assigned to variables, returned from other functions and
passed into functions. Classes are also first class objects
- Writing
Python code is quick but
running it is often slower than compiled languages. Fortunately,Python allows the inclusion of
C based extensions so bottlenecks can be optimized away and often are.
The numpy package is a good example of this, it’s really quite quick
because a lot of the number crunching it does isn’t actually done by
Python
- Python
finds use in many spheres – web applications, automation,
scientific modeling, big data applications and many more. It’s also often
used as “glue” code to get other languages and components to play nice.
Q3. What type of language is python? Programming or scripting?
Ans: Python is capable of
scripting, but in general sense, it is considered as a general-purpose
programming language. To
know more about Scripting, you can refer to the Python Scripting Tutorial.
Q4.How is Python an interpreted language?
Ans: An interpreted
language is any programming language which is not in machine level code before
runtime. Therefore, Python is an interpreted
language.
Q5.What is pep 8?
Ans: PEP stands for Python
Enhancement Proposal. It is
a set of rules that specify how to format Python code for maximum readability.
Q6. How is memory managed in Python?
Ans:
- Memory management in python is
managed by Python private heap space. All Python
objects and data structures are located in a private heap. The programmer
does not have access to this private heap. The python interpreter takes
care of this instead.
- The
allocation of heap space for Python objects is done by Python’s memory
manager. The core API gives access to some tools for the programmer to
code.
- Python
also has an inbuilt garbage collector, which recycles all the unused
memory and so that it can be made available to the heap space.
Q7. What is namespace in Python?
Ans: A namespace is a
naming system used to make sure that names are unique to avoid naming
conflicts.
Q8. What is PYTHONPATH?
Ans: It is an environment
variable which is used when a module is imported. Whenever a module is
imported, PYTHONPATH is also looked up to check for the presence of the
imported modules in various directories. The interpreter uses it to determine
which module to load.
Q9. What are python modules? Name some commonly used built-in
modules in Python?
Ans: Python modules are
files containing Python code. This code can either be functions classes or
variables. A Python module is a .py file containing executable code.
Some of the commonly
used built-in modules are:
- os
- sys
- math
- random
- data
time
- JSON
Q10.What are local variables and global variables in Python?
Global Variables:
Variables declared
outside a function or in global space are called global variables. These
variables can be accessed by any function in the program.
Local Variables:
Any variable declared
inside a function is known as a local variable. This variable is present in the
local space and not in the global space.
Example:
a
=
2
def
add():
b
=
3
c
=
a
+
b
print
(c)
add()
Output: 5
When you try to access
the local variable outside the function add(), it will throw an error.
Q11. Is python case sensitive?
Ans: Yes. Python is a case
sensitive language.
Q12.What is type conversion in Python?
Ans: Type conversion refers
to the conversion of one data type iinto another.
int() – converts any
data type into integer type
float() – converts any
data type into float type
ord() – converts
characters into integer
hex() – converts integers
to hexadecimal
oct() – converts
integer to octal
tuple() – This function is used
to convert to a tuple.
set() – This function returns
the type after converting to set.
list() – This function is used
to convert any data type to a list type.
dict() – This function is used
to convert a tuple of order (key,value) into a dictionary.
str() – Used to convert
integer into a string.
complex(real,imag) – This
functionconverts real numbers to complex(real,imag) number.
Q13. How to install
Python on Windows and set path variable?
Ans: To install Python on
Windows, follow the below steps:
- Install python from this
link: https://www.python.org/downloads/
- After this, install it on your
PC. Look for the location where PYTHON has been installed on your PC using
the following command on your command prompt: cmd python.
- Then
go to advanced system settings and add a new variable and name it as
PYTHON_NAME and paste the copied path.
- Look
for the path variable, select its value and select ‘edit’.
- Add
a semicolon towards the end of the value if it’s not present and then type
%PYTHON_HOME%
Q14. Is indentation required in python?
Ans: Indentation is
necessary for Python. It specifies a block of code. All code within loops,
classes, functions, etc is specified within an indented block. It is usually
done using four space characters. If your code is not indented necessarily, it
will not execute accurately and will throw errors as well.
Q15. What is the difference between Python Arrays and lists?
Ans: Arrays and lists, in
Python, have the same way of storing data. But, arrays can hold only a single
data type elements whereas lists can hold any data type elements.
Example:
import
array as arr
My_Array
=
arr.array(
'i'
,[
1
,
2
,
3
,
4
])
My_list
=
[
1
,
'abc'
,
1.20
]
print
(My_Array)
print
(My_list)
Output:
array(‘i’, [1, 2, 3,
4]) [1, ‘abc’, 1.2]
Q16. What are functions in Python?
Ans: A function is a block
of code which is executed only when it is called. To define a Python function, the def keyword
is used.
Example:
def
Newfunc():
print
(
"Hi, Welcome to Edureka"
)
Newfunc();
#calling the function
Output: Hi, Welcome to Edureka
Q17.What is __init__?
Ans: __init__ is a method
or constructor in Python. This method is automatically called to allocate memory when a
new object/ instance of a class is created. All classes have the __init__
method.
Here is an example of how to use it.
class
Employee:
def
__init__(
self
, name, age,salary):
self
.name
=
name
self
.age
=
age
self
.salary
=
20000
E1
=
Employee(
"XYZ"
,
23
,
20000
)
# E1 is the instance of class Employee.
#__init__ allocates memory for E1.
print
(E1.name)
print
(E1.age)
print
(E1.salary)
Output:
XYZ
23
20000
Q18.What is a lambda function?
Ans: An anonymous function
is known as a lambda function. This function can have any number of parameters
but, can have just one statement.
Example:
a
=
lambda
x,y : x
+
y
print
(a(
5
,
6
))
Output: 11
Q19. What is self in Python?
Ans: Self is an instance or an object of a class. In Python,
this is explicitly included as the first parameter. However, this is not the
case in Java where it’s optional. It helps to differentiate between the
methods and attributes of a class with local variables.
The self variable in
the init method refers to the newly created object while in other methods, it
refers to the object whose method was called.
Q20. How does break, continue and pass work?
Break |
Allows
loop termination when some condition is met and the control is transferred to
the next statement. |
Continue |
Allows
skipping some part of a loop when some specific condition is met and the
control is transferred to the beginning of the loop |
Pass |
Used
when you need some block of code syntactically, but you want to skip its
execution. This is basically a null operation. Nothing happens when this is
executed. |
Q21. What does [::-1} do?
Ans: [::-1] is used
to reverse the order of an array or a sequence.
For example:
import
array as arr
My_Array
=
arr.array(
'i'
,[
1
,
2
,
3
,
4
,
5
])
My_Array[::
-
1
]
Output: array(‘i’, [5, 4, 3, 2, 1])
[::-1] reprints a reversed copy of ordered data structures such as an array or a list. the original array or list remains unchanged.
Q22. How can you randomize the items of a list in place in
Python?
Ans: Consider the example shown below:
from
random
import
shuffle
x
=
[
'Keep'
,
'The'
,
'Blue'
,
'Flag'
,
'Flying'
,
'High'
]
shuffle(x)
print
(x)
The output of the following code is as below.
['Flying', 'Keep',
'Blue', 'High', 'The', 'Flag']
Q23. What are python iterators?
Ans: Iterators are objects
which can be traversed though or iterated upon.
Q24. How can you generate random numbers in Python?
Ans: Random module is the standard module that is used to generate a random number. The method is defined as:
import
random
random.random
The statement random.random() method return the floating point number that is in the range of [0, 1). The function generates random float numbers. The methods that are used with the random class are the bound methods of the hidden instances. The instances of the Random can be done to show the multi-threading programs that creates a different instance of individual threads. The other random generators that are used in this are:
- randrange(a, b): it chooses an
integer and define the range in-between [a, b). It returns the elements by
selecting it randomly from the range that is specified. It doesn’t build a
range object.
- uniform(a,
b): it chooses a floating point number that is defined in the range of
[a,b).Iyt returns the floating point number
- normalvariate(mean,
sdev): it is used for the normal distribution where the mu is a mean and
the sdev is a sigma that is used for standard deviation.
- The
Random class that is used and instantiated creates an independent multiple
random number generators.
Q25. What is the difference between range & xrange?
Ans: For the most
part, xrange and range are the exact same in terms of functionality. They both
provide a way to generate a list of integers for you to use, however you
please. The only difference is that range returns a Python list object and x
range returns an xrange object.
This means that
xrange doesn’t actually generate a static list at run-time like range does. It
creates the values as you need them with a special technique called yielding.
This technique is used with a type of object known as generators. That
means that if you have a really gigantic range you’d like to generate a list
for, say one billion, xrange is the function to use.
This is especially true
if you have a really memory sensitive system such as a cell phone that you are
working with, as range will use as much memory as it can to create your array
of integers, which can result in a Memory Error and crash your program. It’s a
memory hungry beast.
Q26. How do you write comments in python?
Ans: Comments in Python
start with a # character. However, alternatively at times, commenting is done
using docstrings(strings enclosed within triple quotes).
Example:
#Comments in Python
start like this
print("Comments
in Python start with a #")
Output: Comments in Python
start with a #
Q27. What is pickling and unpickling?
Ans: 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.
Q28. What are the generators in python?
Ans: Functions that return
an iterable set of items are called generators.
Q29. How will you capitalize the first letter of string?
Ans: In Python, the
capitalize() method capitalizes the first letter of a string. If the string
already consists of a capital letter at the beginning, then, it returns the
original string.
Q30. How will you convert a string to all lowercase?
Ans: To convert a string to
lowercase, lower() function can be used.
Example:
stg
=
'ABCD'
print
(stg.lower())
Output: abcd
Q31. How to comment multiple lines in python?
Ans: Multi-line comments
appear in more than one line. All the lines to be commented are to be prefixed
by a #. You can also a very good shortcut method to comment
multiple lines. All you need to do is hold the ctrl key and left
click in every place wherever you want to include a # character and
type a # just once. This will comment all the lines where you introduced your
cursor.
Q32.What are docstrings in Python?
Ans: Docstrings are not
actually comments, but, they are documentation strings.
These docstrings are within triple quotes. They are not assigned to any
variable and therefore, at times, serve the purpose of comments as well.
Example:
"""
Using docstring as a comment.
This code divides 2 numbers
"""
x
=
8
y
=
4
z
=
x
/
y
print
(z)
Output: 2.0
Q33. What is the purpose of is, not and in operators?
Ans: Operators are special
functions. They take one or more values and produce a corresponding result.
is: returns true when
2 operands are true (Example: “a” is ‘a’)
not: returns the
inverse of the boolean value
in: checks if some
element is present in some sequence
Q34. What is the usage of help() and dir() function in
Python?
Ans: Help() and dir()
both functions are accessible from the Python interpreter and used for viewing
a consolidated dump of built-in functions.
- Help()
function: The help() function is used to display the documentation string
and also facilitates you to see the help related to modules, keywords,
attributes, etc.
- Dir()
function: The dir() function is used to display the defined symbols.
Q35. Whenever Python exits, why isn’t all the memory
de-allocated?
Ans:
- 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 or freed.
- It
is impossible to de-allocate 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 de-allocate/destroy every other object.
Q36. What is a dictionary in Python?
Ans: The built-in
datatypes in Python is called dictionary. It defines one-to-one relationship
between keys and values. Dictionaries contain pair of keys and their
corresponding values. Dictionaries are indexed by keys.
Let’s take an example:
The following example contains some keys. Country, Capital & PM. Their corresponding values are India, Delhi and Modi respectively.
dict
=
{
'Country'
:
'India'
,
'Capital'
:
'Delhi'
,
'PM'
:
'Modi'}
print
dict
[Country]
India
print
dict
[Capital]
Delhi
print
dict
[PM]
Modi
Q37. How can the ternary operators be used in python?
Ans: The Ternary
operator is the operator that is used to show the conditional statements. This
consists of the true or false values with a statement that has to be evaluated
for it.
Syntax:
The Ternary operator
will be given as:
[on_true] if [expression] else [on_false]x, y = 25, 50big = x if x < y else
y
Example:
The expression gets
evaluated like if x<y else y, in this case if x<y is true then the value
is returned as big=x and if it is incorrect then big=y will be sent as a
result.
Q38. What does this mean: *args, **kwargs? And why would we use
it?
Ans: We use *args
when we aren’t sure how many arguments are going to be passed to a function, or
if we want to pass a stored list or tuple of arguments to a function. **kwargs
is used when we don’t know how many keyword arguments will be passed to a
function, or it can be used to pass the values of a dictionary as keyword
arguments. The identifiers args and kwargs are a convention, you could also use
*bob and **billy but that would not be wise.
Q39. What does len() do?
Ans: It is used to
determine the length of a string, a list, an array, etc.
Example:
stg
=
'ABCD'
len
(stg)
Q40. Explain split(), sub(), subn() methods of “re” module in Python.
Ans: 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 replacements.
Q41. What are negative indexes and why are they used?
Ans: The sequences in
Python are indexed and it consists of the positive as well as negative numbers.
The numbers that are positive uses ‘0’ that is uses as first index and ‘1’ as
the second index and the process goes on like that.
The index for the
negative number starts from ‘-1’ that represents the last index in the sequence
and ‘-2’ as the penultimate index and the sequence carries forward like the
positive number.
The negative index is
used to remove any new-line spaces from the string and allow the string to
except the last character that is given as S[:-1]. The negative index is also
used to show the index to represent the string in correct order.
Q42. What are Python packages?
Ans: Python packages are
namespaces containing multiple modules.
Q43.How can files be deleted in Python?
Ans: To delete a file in
Python, you need to import the OS Module. After that, you need to use the
os.remove() function.
Example:
import
os
os.remove(
"xyz.txt"
)
Q44. What are the built-in types of python?
Ans: Built-in types in
Python are as follows –
- Integers
- Floating-point
- Complex
numbers
- Strings
- Boolean
- Built-in
functions
Q45. What advantages do NumPy arrays offer over (nested) Python
lists?
Ans:
- Python’s lists are efficient
general-purpose containers. They support (fairly) efficient insertion,
deletion, appending, and concatenation, and Python’s list comprehensions
make them easy to construct and manipulate.
- They
have certain limitations: they don’t support “vectorized” operations like
elementwise addition and multiplication, and the fact that they can
contain objects of differing types mean that Python must store type information
for every element, and must execute type dispatching code when operating
on each element.
- NumPy
is not just more efficient; it is also more convenient. You get a lot of
vector and matrix operations for free, which sometimes allow one to avoid
unnecessary work. And they are also efficiently implemented.
- NumPy
array is faster and You get a lot built in with NumPy, FFTs, convolutions,
fast searching, basic statistics, linear algebra, histograms, etc.
Q46. How to add values to a python array?
Ans: Elements can be added
to an array using the append(), extend() and
the insert (i,x) functions.
Example:
a
=
arr.array(
'd'
, [
1.1
,
2.1
,
3.1
] )
a.append(
3.4
)
print
(a)
a.extend([
4.5
,
6.3
,
6.8
])
print
(a)
a.insert(
2
,
3.8
)
print
(a)
Output:
array(‘d’, [1.1, 2.1,
3.1, 3.4])
array(‘d’, [1.1, 2.1,
3.1, 3.4, 4.5, 6.3, 6.8])
array(‘d’, [1.1, 2.1,
3.8, 3.1, 3.4, 4.5, 6.3, 6.8])
Q47. How to remove values to a python array?
Ans: Array elements can be
removed using pop() or remove() method. The
difference between these two functions is that the former returns the deleted
value whereas the latter does not.
Example:
a
=
arr.array(
'd'
, [
1.1
,
2.2
,
3.8
,
3.1
,
3.7
,
1.2
,
4.6
])
print
(a.pop())
print
(a.pop(
3
))
a.remove(
1.1
)
print
(a)
Output:
4.6
3.1
array(‘d’, [2.2, 3.8,
3.7, 1.2])
Q48. Does Python have OOps concepts?
Ans: Python is an object-oriented
programming language. This means that any program can be solved in python by
creating an object model. However, Python can be treated as procedural as well
as structural language.
Q49. What is the difference between deep and shallow copy?
Ans: Shallow copy is used when a
new instance type gets created and it keeps the values that are copied in the
new instance. Shallow copy is used to copy the reference pointers just like it
copies the values. These references point to the original objects and the changes
made in any member of the class will also affect the original copy of
it. Shallow copy allows faster execution of the program and it depends on
the size of the data that is used.
Deep copy is used to store
the values that are already copied. Deep copy doesn’t copy the reference
pointers to the objects. It makes the reference to an object and the new object
that is pointed by some other object gets stored. The changes made in the
original copy won’t affect any other copy that uses the object. Deep copy
makes execution of the program slower due to making certain copies for each
object that is been called.
Q50. How is Multithreading achieved in Python?
Ans:
- Python has a multi-threading
package but if you want to multi-thread to speed your code up, then it’s
usually not a good idea to use it.
- Python
has a construct called the Global Interpreter Lock (GIL). The GIL makes
sure that only one of your ‘threads’ can execute at any one time. A thread
acquires the GIL, does a little work, then passes the GIL onto the next
thread.
- This
happens very quickly so to the human eye it may seem like your threads are
executing in parallel, but they are really just taking turns using the
same CPU core.
- All
this GIL passing adds overhead to execution. This means that if you want
to make your code run faster then using the threading package often isn’t
a good idea.
Q51. What is the process of compilation and linking in
python?
Ans: The compiling
and linking allows the new extensions to be compiled properly without any error
and the linking can be done only when it passes the compiled procedure. If the
dynamic loading is used then it depends on the style that is being provided
with the system. The python interpreter can be used to provide the dynamic
loading of the configuration setup files and will rebuild the interpreter.
The steps that are
required in this as:
- Create
a file with any name and in any language that is supported by the compiler
of your system. For example file.c or file.cpp
- Place
this file in the Modules/ directory of the distribution which is getting
used.
- Add
a line in the file Setup.local that is present in the Modules/ directory.
- Run
the file using spam file.o
- After
a successful run of this rebuild the interpreter by using the make command
on the top-level directory.
- If
the file is changed then run rebuildMakefile by using the command as ‘make
Makefile’.
Q52. What are Python libraries? Name a few of them.
Python libraries are a collection of Python packages. Some of the majorly
used python libraries are – Numpy, Pandas, Matplotlib and many more.
Q53. What is split used for?
The split() method is
used to separate a given string in Python.
Example:
a
=
"edureka python"
print
(a.split())
Output: [‘edureka’, ‘python’]
Q54. How to
import modules in python?
Modules can be
imported using the import keyword. You can import
modules in three ways-
Example:
import
array
#importing using the original module name
import
array as arr
# importing using an alias name
from
array
import
*
#imports everything present in the array module
Q55. Explain Inheritance in Python with an example.
Ans: Inheritance
allows One class to gain all the members(say attributes and methods) of another
class. Inheritance provides code reusability, makes it easier to create and
maintain an application. The class from which we are inheriting is called
super-class and the class that is inherited is called a derived / child class.
They are different
types of inheritance supported by Python:
- Single Inheritance – where a
derived class acquires the members of a single super class.
- Multi-level inheritance – a
derived class d1 in inherited from base class base1, and d2 are inherited
from base2.
- Hierarchical
inheritance – from one base class you can inherit any number of child
classes
- Multiple
inheritance – a derived class is inherited from more than one base class.
Q56. How are classes created in Python?
Ans: Class in Python is
created using the class keyword.
Example:
class
Employee:
def __init__(self, name):
self.name = name
E1=Employee(
"abc"
)
print(E1.name)
Output: abc
Q57. What is monkey patching in Python?
Ans: In Python, the
term monkey patch only refers to dynamic modifications of a class or module at
run-time.
Consider the below example:
# m.py
class
MyClass:
def
f(
self
):
print
"f()"
We can then run the monkey-patch testing like this:
import
m
def
monkey_f(
self
):
print
"monkey_f()"
m.MyClass.f
=
monkey_f
obj
=
m.MyClass()
obj.f()
The output will be as
below:
monkey_f()
As we can see, we did
make some changes in the behavior of f() in MyClass using
the function we defined, monkey_f(), outside of the module m.
Q58. Does python support multiple inheritance?
Ans: Multiple inheritance
means that a class can be derived from more than one parent classes. Python
does support multiple inheritance, unlike Java.
Q59. What is Polymorphism in Python?
Ans: Polymorphism means the
ability to take multiple forms. So, for instance, if the parent class has a
method named ABC then the child class also can have a method with the same name
ABC having its own parameters and variables. Python allows polymorphism.
Q60. Define encapsulation in Python?
Ans: Encapsulation means
binding the code and the data together. A Python class in an example of
encapsulation.
Q61. How do you do data abstraction in Python?
Ans: Data Abstraction is
providing only the required details and hiding the implementation from the world.
It can be achieved in Python by using interfaces and abstract classes.
Q62.Does python make use of access specifiers?
Ans: Python does not
deprive access to an instance variable or function. Python lays down the
concept of prefixing the name of the variable, function or method with a single
or double underscore to imitate the behavior of protected and private
access specifiers.
Q63. How to create an empty class in Python?
Ans: An empty class is a
class that does not have any code defined within its block. It can be created
using the pass keyword. However, you can create objects of
this class outside the class itself. IN PYTHON THE PASS command does nothing
when its executed. it’s a null statement.
For example-
class
a:
pass
obj
=
a()
obj.name
=
"xyz"
print
(
"Name = "
,obj.name)
Output:
Name = xyz
Q64. What does an object() do?
Ans: It returns a featureless object that is a base for all classes.
Also, it does not take any parameters.
Q66. Write a program in Python to produce Star triangle.
def
pyfunc(r):
for
x
in
range
(r):
print
(
' '
*
(r
-
x
-
1
)
+
'*'
*
(
2
*
x
+
1
))
pyfunc(
9
)
Output:
*
***
*****
*******
*********
***********
*************
***************
*****************
Q68. Write a program in Python to check if a number is prime.
a
=
int
(
input
(
"enter number"
))
if
a>
1
:
for
x
in
range
(
2
,a):
if
(a
%
x)
=
=
0
:
print
(
"not prime"
)
break
else
:
print
(
"Prime"
)
else
:
print
(
"not prime"
)
Output:
enter number 3
Prime
Q69. Write a program in Python to check if a sequence is a
Palindrome.
Output:
enter sequence 323
palindrome
Q70. Write a one-liner that will count the number of capital
letters in a file. Your code should work even if the file is too big to fit in
memory.
Ans: Let us
first write a multiple line solution and then convert it to one-liner code.
with
open
(SOME_LARGE_FILE) as fh:
count
=
0
text
=
fh.read()
for
character
in
text:
if
character.isupper():
count
+
=
1
We will now try to
transform this into a single line.
Q71. Write a sorting algorithm for a numerical dataset in
Python.
Ans: The following
code can be used to sort a list in Python:
Q72. Looking at the below code, write down the final values of
A0, A1, …An.
Ans: The following
will be the final outputs of A0, A1, … A6
A0
= {'a': 1, 'c': 3, 'b': 2, 'e': 5, 'd': 4} # the order may vary
A1 = range(0, 10)
A2 = []
A3 = [1, 2, 3, 4, 5]
A4 = [1, 2, 3, 4, 5]
A5 = {0: 0, 1: 1, 2: 4,
3: 9, 4: 16, 5: 25, 6: 36, 7: 49, 8: 64, 9: 81}
A6 = [[0, 0], [1, 1],
[2, 4], [3, 9], [4, 16], [5, 25], [6, 36], [7, 49], [8, 64], [9, 81]]
Q73. Explain what Flask is and its benefits?
Ans: Flask is a web
microframework for Python based on “Werkzeug, Jinja2 and good intentions” BSD
license. Werkzeug and Jinja2 are two of its dependencies. This means it
will have little to no dependencies on external libraries. It makes the
framework light while there is a little dependency to update and fewer security
bugs.
A session basically
allows you to remember information from one request to another. In a flask, a
session uses a signed cookie so the user can look at the session contents and
modify. The user can modify the session if only it has the secret key
Flask.secret_key.
Q74. Is Django better than Flask?
Ans: Django and Flask
map the URL’s or addresses typed in the web browsers to functions in
Python.
Flask is much simpler
compared to Django but, Flask does not do a lot for you meaning you will need
to specify the details, whereas Django does a lot for you wherein you would not
need to do much work. Django consists of prewritten code, which the user
will need to analyze whereas Flask gives the users to create their own code,
therefore, making it simpler to understand the code. Technically both are
equally good and both contain their own pros and cons.
Q75. Mention the differences between Django, Pyramid and Flask.
Ans:
- Flask is a “microframework”
primarily build for a small application with simpler requirements. In
flask, you have to use external libraries. Flask is ready to use.
- Pyramid
is built for larger applications. It provides flexibility and lets the
developer use the right tools for their project. The developer can choose
the database, URL structure, templating style and more. Pyramid is heavy
configurable.
- Django
can also be used for larger applications just like Pyramid. It includes an
ORM.
Q76. Discuss Django architecture.
Ans: Django MVT
Pattern:
The developer provides
the Model, the view and the template then just maps it to a URL and Django does
the magic to serve it to the user.
Q77. Explain how you can set up the Database in Django.
Ans: You can use the command edit mysite/setting.py, it is a normal python module with module level representing Django settings.
Django uses SQLite by
default; it is easy for Django users as such it won’t require any other type of
installation. In the case your database choice is different that you have to
the following keys in the DATABASE ‘default’ item to match your
database connection settings.
- Engines: you can change the database
by using ‘django.db.backends.sqlite3’ , ‘django.db.backeneds.mysql’,
‘django.db.backends.postgresql_psycopg2’, ‘django.db.backends.oracle’ and
so on
- Name: The name of your database. In
the case if you are using SQLite as your database, in that case, database
will be a file on your computer, Name should be a full absolute path,
including the file name of that file.
- If
you are not choosing SQLite as your database then settings like Password,
Host, User, etc. must be added.
Django uses SQLite as
a default database, it stores data as a single file in the filesystem. If you
do have a database server—PostgreSQL, MySQL, Oracle, MSSQL—and want to use it
rather than SQLite, then use your database’s administration tools to create a
new database for your Django project. Either way, with your (empty) database in
place, all that remains is to tell Django how to use it. This is where your
project’s settings.py file comes in.
We will add the
following lines of code to the setting.py file:
Q78. Give an example how you can write a VIEW in Django?
Ans: This is how we
can use write a view in Django:
from
django.http
import
HttpResponse
import
datetime
def
Current_datetime(request):
now
=
datetime.datetime.now()
html
=
"<html><body>It
is
now
%
s<
/
body><
/
html>
%
now
return
HttpResponse(html)
Returns the current
date and time, as an HTML document
Q79. Mention what the Django templates consist of.
Ans: The template is
a simple text file. It can create any text-based format like XML, CSV,
HTML, etc. A template contains variables that get replaced with values
when the template is evaluated and tags (% tag %) that control the logic of the
template.
Q80. Explain the use of session in Django framework?
Ans: Django provides
a session that lets you store and retrieve data on a per-site-visitor basis.
Django abstracts the process of sending and receiving cookies, by placing a
session ID cookie on the client side, and storing all the related data on the
server side.
So the data itself is
not stored client side. This is nice from a security perspective.
Q81. List
out the inheritance styles in Django.
Ans: In Django, there
are three possible inheritance styles:
- Abstract Base Classes: This
style is used when you only want parent’s class to hold information that
you don’t want to type out for each child model.
- Multi-table Inheritance: This style is used If you are
sub-classing an existing model and need each model to have its own
database table.
- Proxy
models: You can use this model, If you only want to modify the Python
level behavior of the model, without changing the model’s fields.
Q82. How To Save An Image
Locally Using Python Whose URL Address I Already Know?
Ans: We will use the
following code to save an image locally from an URL address
import
urllib.request
urllib.request.urlretrieve(
"URL"
,
"local-filename.jpg"
)
Q83. How can you Get the Google cache age of any URL or web
page?
Ans: Use the
following URL format:
http://webcache.googleusercontent.com/search?q=cache:URLGOESHERE
Be sure to replace “URLGOESHERE” with the proper web address of the page or site whose cache you want to retrieve and see the time for.
Q85. What is map function in Python?
Ans: map function
executes the function given as the first argument on all the elements of the
iterable given as the second argument. If the function given takes in more than
1 arguments, then many iterables are given. #Follow the link to know more
similar functions.
Q86. Is python numpy better than lists?
Ans: We use python
numpy array instead of a list because of the below three reasons:
- Less
Memory
- Fast
- Convenient
Q87. How to get
indices of N maximum values in a NumPy array?
Ans: We can get the
indices of N maximum values in a NumPy array using the below code:
Output
[ 4 3 1 ]
Q88. How do you calculate percentiles with Python/ NumPy?
Ans: We can calculate
percentiles with the following code
Output
3
Q89. What is the difference between NumPy and SciPy?
Ans:
- In
an ideal world, NumPy would contain nothing but the array data type and
the most basic operations: indexing, sorting, reshaping, basic elementwise
functions, et cetera.
- All
numerical code would reside in SciPy. However, one of NumPy’s important
goals is compatibility, so NumPy tries to retain all features supported by
either of its predecessors.
- Thus
NumPy contains some linear algebra functions, even though these more
properly belong in SciPy. In any case, SciPy contains more fully-featured
versions of the linear algebra modules, as well as many other numerical
algorithms.
- If
you are doing scientific computing with python, you should probably
install both NumPy and SciPy. Most new features belong in SciPy rather
than NumPy.
Q90. How do you make 3D plots/visualizations using NumPy/SciPy?
Ans: Like 2D plotting, 3D graphics is beyond the scope of NumPy
and SciPy, but just as in the 2D case, packages exist that integrate with
NumPy. Matplotlib provides basic 3D plotting in
the mplot3d subpackage, whereas Mayavi provides a wide
range of high-quality 3D visualization features, utilizing the powerful VTK engine.
Multiple Choice Questions (MCQ)
Q91. Which of the following statements create a dictionary?
(Multiple Correct Answers Possible)
a) d = {}
b) d = {“john”:40, “peter”:45}
c) d = {40:”john”, 45:”peter”}
d) d = (40:”john”, 45:”50”)
Answer: b, c & d.
Dictionaries are
created by specifying keys and values.
Q92. Which one of these is floor division?
a) /
b) //
c) %
d) None of the mentioned
Answer: b) //
When both of the
operands are integer then python chops out the fraction part and gives you the
round off value, to get the accurate answer use floor division. For ex, 5/2 =
2.5 but both of the operands are integer so answer of this expression in python
is 2. To get the 2.5 as the answer, use floor division using //. So, 5//2 = 2.5
Q93. What is the maximum possible length of an identifier?
a) 31 characters
b) 63 characters
c) 79 characters
d) None of the above
Answer: d) None of the above
Identifiers can be of
any length.
Q94. Why are local variable names beginning with an underscore
discouraged?
a) they are used to indicate a private variables of a class
b) they confuse the interpreter
c) they are used to indicate global variables
d) they slow down execution
Answer: a) they are used to
indicate a private variable of a class
As Python has no
concept of private variables, leading underscores are used to indicate
variables that must not be accessed from outside the class.
Q95. Which of the following is an invalid statement?
a) abc = 1,000,000
b) a b c = 1000 2000 3000
c) a,b,c = 1000, 2000, 3000
d) a_b_c = 1,000,000
Answer: b) a b c = 1000 2000
3000
Spaces are not allowed
in variable names.
Q96. What is the output of the following?
try:
a) someError has occured
b) someError has not occured
c) invalid code
d) none of the above
Answer: c) invalid code
A new exception class
must inherit from a BaseException. There is no such inheritance here.
Q97. Suppose list1 is [2, 33, 222, 14, 25], What is list1[-1] ?
a) Error
b) None
c) 25
d) 2
Answer: c) 25
The index -1
corresponds to the last index in the list.
Q98. To open a file c:scores.txt for writing, we use
a) outfile = open(“c:scores.txt”, “r”)
b) outfile = open(“c:scores.txt”, “w”)
c) outfile = open(file = “c:scores.txt”, “r”)
d) outfile = open(file = “c:scores.txt”, “o”)
Answer: b) The location
contains double slashes ( ) and w is used to indicate that file is
being written to.
Q99. What is the output of the following?
a) True
b) False
c) None
d) Error
Answer: a) True
The WITH statement
when used with open file guarantees that the file object is closed when the
with block exits.
Q100. When will the else part of try-except-else be executed?
a) always
b) when an exception occurs
c) when no exception occurs
d) when an exception occurs into except block
Answer: c) when no exception occurs
The else part is executed when no exception occurs.