|
Technical Interview Questions
C++ Interview Questions
Php Interview Questions
Xml
Interview Questions
C Interview Questions
.........More
Soft Skills
Communication Skills
Leadership Skills
.........More
|
|
Python Interview Questions and Answers
How do I find the current module name?
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)
When I edit an imported module and reimport it, the
changes don't show up. Why does this happen?
For reasons of efficiency as well as consistency, Python
only reads the module file on the first time a module is
imported. If it didn't, in a program consisting of many
modules where each one imports the same basic module,
the basic module would be parsed and re-parsed many
times. To force rereading of a changed module, do this:
import modname
reload(modname)
Warning: this technique is not 100% fool-proof. In
particular, modules containing statements like
from modname import some_objects
will continue to work with the old version of the
imported objects. If the module contains class
definitions, existing class instances will not be
updated to use the new class definition. This can result
in the following paradoxical behavior:
>>> import cls
>>> c = cls.C() # Create an instance of C
>>> reload(cls)
<module 'cls' from 'cls.pyc'>
>>> isinstance(c, cls.C) # isinstance is false?!?
False
The nature of the problem is made clear if you print out
the class objects:
>>> c.__class__
<class cls.C at 0x7352a0>
>>> cls.C
<class cls.C at 0x4198d0>
Where is the math.py (socket.py, regex.py, etc.) source
file?
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
How do I make a Python script executable on Unix?
You need to do two things: the script file's mode must
be executable and the first line must begin with #!
followed by the path of the Python interpreter.
The first is done by executing chmod +x scriptfile or
perhaps chmod 755 scriptfile.
The second can be done in a number of ways. The most
straightforward way is to write
#!/usr/local/bin/python
as the very first line of your file, using the pathname
for where the Python interpreter is installed on your
platform.
If you would like the script to be independent of where
the Python interpreter lives, you can use the "env"
program. Almost all Unix variants support the following,
assuming the python interpreter is in a directory on the
user's $PATH:
#! /usr/bin/env python
Don't do this for CGI scripts. The $PATH variable for
CGI scripts is often very minimal, so you need to use
the actual absolute pathname of the interpreter.
Occasionally, a user's environment is so full that the /usr/bin/env
program fails; or there's no env program at all. In that
case, you can try the following hack (due to Alex
Rezinsky):
#! /bin/sh
""":"
exec python $0 ${1+"$@"}
"""
The minor disadvantage is that this defines the script's
__doc__ string. However, you can fix that by adding
__doc__ = """...Whatever..."""
Page Numbers : 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Have a Question ?
post your questions here. It
will be answered as soon as possible.
Check
HTML Interview
Questions for more HTML Interview Questions with Answers
Check
Job Interview Questions
for more Interview Questions with Answers
|