For debugging we use those functions a lot.
type():
The method type() returns the type of the passed variable. If passed variable is dictionary then it would return a dictionary type.
>>> type(1)
<type 'int'>
>>> li = []
>>> type(li)
<type 'list'>
>>> import fibo
>>> type(fibo)
<type 'module'>
>>> import types
>>> type(fibo) == types.ModuleType
True
dir():
You can use the built-in dir function to list the identifiers that a module defines. The identifiers are the functions, classes and variables defined in that module.
When you supply a module name to the dir() function, it returns the list of the names defined in that module. When no argument is applied to it, it returns the list of names defined in the current module.
>>> li = []
>>> dir(li)
['append', 'count', 'extend', 'index', 'insert',
'pop', 'remove', 'reverse', 'sort']
>>> d = {}
>>> dir(d)
['clear', 'copy', 'get', 'has_key', 'items', 'keys', 'setdefault', 'update', 'values']
>>> import odbchelper
>>> dir(odbchelper)
['__builtins__', '__doc__', '__file__', '__name__', 'buildConnectionString']
help():
Help function, name it self defines the usage of this function. This function returns the help related to python module, object or method if it is called with respective argument but without any argument it will return the help related to currently running programming module.
>>> help(str)
Help on class str in module __builtin__:
class str(basestring)
| str(object='') -> string
|
| Return a nice string representation of the object.
| If the argument is a string, the return value is the same object.
|
| Method resolution order:
| str
| basestring
| object
|
__doc__ :
Python documentation strings (or docstrings) provide a convenient way of associating documentation with Python modules, functions, classes, and methods. An object’s docstring is defined by including a string constant as the first statement in the object’s definition.
>>> int
<type 'int'>
>>> print int.__doc__
int(x=0) -> int or long
int(x, base=10) -> int or long
Convert a number or string to an integer, or return 0 if no arguments
are given. If x is floating point, the conversion truncates towards zero.
If x is outside the integer range, the function returns a long instead.
If x is not a number or if base is given, then x must be a string or
Unicode object representing an integer literal in the given base. The
literal can be preceded by '+' or '-' and be surrounded by whitespace.
The base defaults to 10. Valid bases are 0 and 2-36. Base 0 means to
interpret the base from the string as an integer literal.
>>> int('0b100', base=0)
4
>>> list
<type 'list'>
>>> print list.__doc__
list() -> new empty list
list(iterable) -> new list initialized from iterable's items
>>> dict
<type 'dict'>
>>> print dict.__doc__
dict() -> new empty dictionary
dict(mapping) -> new dictionary initialized from a mapping object's
(key, value) pairs
dict(iterable) -> new dictionary initialized as if via:
d = {}
for k, v in iterable:
d[k] = v
dict(**kwargs) -> new dictionary initialized with the name=value pairs
in the keyword argument list. For example: dict(one=1, two=2)