1内置模块
1.1help
功能说明:help是python中的一个帮助函数,是一个内置函数,所谓内置函数,就是在python中被自动加载的函数,任何时候都可以用,而不用使用import导入。help函数只有一个参数,如果传一个字符串做参数的话,它会自动搜索以这个字符串命名的模块,方法,等;如果传入的是一个对象,就会显示这个对象的类型的帮助。
使用方法:
1 >>> help(’sys’) #会列出sys模块的帮助
2 >>> a = [1,2,3]
3 >>> help(a) #会显示list的帮助
4 >>> help(a.append) #会显示list的append方法的帮助
1.2callable
功能说明:检查一个对象是否是可调用的 (无论是直接调用或是通过 apply),返回True或False,主要是检查对象的属性中是否包括__call__。
使用方法:
1 >>> callable(help) #会返回help是否可用
2 True
3 >>> callable(xxx) #输入不存在的对象,返回不可用
4 False
1.3repr
功能说明:repr函数用来取得对象的规范字符串表示。反引号“`”(也称转换符)可以完成相同的功能。
使用说明:
1 >>> i = []
2 >>> i.append('item')
3 >>> `i`
4 "['item']"
5>>> repr(i)
6"['item']"
1.4eval
功能说明:eval语句用来计算存储在字符串中的有效Python表达式,并返回执行结果
使用说明:
1 >>> eval("2*3") #计算一个python表达式
2 6
1.5exec
功能说明:exec语句用来执行储存在字符串或文件中的Python语句。exec可以执行完整的语句,而eval只能执行表达式。
使用说明:
1 >>> exec 'print "Hello World"'#执行一条python语句
2 Hello World
1.6dir
功能说明:dir函数来列出模块定义的标识符。标识符有函数、类和变量。当你为dir()提供一个模块名的时候,它返回模块定义的名称列表。如果不提供参数,它返回当前模块中定义的名称列表。
使用说明:
1 >>> import sys #执行一条python语句
2 >>> dir(sys) #返回sys中定义的名称列表
3 ['__displayhook__', '__doc__', '__excepthook__', '__name__', '__stderr__', '__stdin__', '__stdout__', '_getframe', 'api_version', 'argv', 'builtin_module_names', 'byteorder', 'call_tracing', 'callstats', 'copyright', 'displayhook', 'exc_clear', 'exc_info', 'exc_type', 'excepthook', 'exec_prefix', 'executable', 'exit', 'getcheckinterval', 'getdefaultencoding', 'getdlopenflags', 'getfilesystemencoding', 'getrecursionlimit', 'getrefcount', 'hexversion', 'last_traceback', 'last_type', 'last_value', 'maxint', 'maxunicode', 'meta_path', 'modules', 'path', 'path_hooks', 'path_importer_cache', 'platform', 'prefix', 'ps1', 'ps2', 'setcheckinterval', 'setdlopenflags', 'setprofile', 'setrecursionlimit', 'settrace', 'stderr', 'stdin', 'stdout', 'version', 'version_info', 'warnoptions']
3 >>> dir() #返回当前模块的名称列表
4 ['__builtins__', '__doc__', '__name__']
5>>> a = 3 #增加一个参数定义
6>>> dir()
7['__builtins__', '__doc__', '__name__', 'a'] #返回当前模块的名称列表
1.7hasattr
功能说明:查看目的对象中的命名空间是否包括指定的名称,格式形如hasattr(obj,name),其中obj为目的对象,name为执行的名称。
使用说明:
1 >>> dir(id) #查看对象id中的名称列表
2 ['__call__', '__class__', '__cmp__', '__delattr__', '__doc__', '__getattribute__', '__hash__', '__init__', '__module__', '__name__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__self__', '__setattr__', '__str__']
3 >>> hasattr(id, '__hash__') #查看id对象的命名空间中是否包括__hash__
4 True
1.8getattr
功能说明:getattr用于返回目标对象的一个对象的属性,或者方法,使用格式形如getattr(obj, name[, default]),其中obj为目标对象名称,name为对应属性或方法名称,default为可选项,当default设置后将在属性不存在的时候进行返回。此功能等价于obj.name。
使用说明:
1 class A:
2 def __init__(self):
3 self.a = 'a'
4 def method(self):
5 print "method print"
6 a = A()
7 print getattr(a, 'a', 'default') #如果有属性a则打印a,否则打印default
8 print getattr(a, 'b', 'default') #如果有属性b则打印b,否则打印default
9 print getattr(a, 'method', 'default')
10 #如果有方法method,否则打印其地址,否则打印default
11 print getattr(a, 'method', 'default')()
12 #如果有方法method,运行函数并打印None否则打印default
1.9setattr
功能说明:setattr可以用于设置目标对象的指定属性,使用格式形如setattr(obj,name,value),其中obj为目标对象名称,name为对应属性或方法名称,value则是需要设定的属性值。name对应的属性可以是存在也可以是新建的。
使用说明:
1 setattr(x, 'foobar', 123) #将属性x.foobar设置成值123
2 x.foobar = 123 #这两行代码的效果等价
1.10delattr
功能说明:delattr用来删除目标对象中的指定属性,使用格式形如delattr(obj ,name),其中obj是目标对象名称,name为指定要删除的属性名称。
使用说明:
1 delattr(x, 'foobar') #将属性x.foobar删除
2 del x.foobar #这两行代码的效果等价
1.11vars
功能说明:返回一个对象的命名空间,返回类型为dictionary。
使用说明:
1 >>> import time #将time模块引入
2 >>> vars(time) #显示该模块的命名空间
3 {'__file__': '/usr/lib64/python2.4/lib-dynload/timemodule.so', 'tzset': <built-in function tzset>, 'ctime': <built-in function ctime>….} #篇幅原因,后续内容显示未完全
1.12locals
功能说明:返回一个局部(函数)命名空间,返回类型为dictionary。
使用说明:
1 >>> def ak(x,y):
2 ... i=x
3 ... j=y
4 ... print locals()
5 ...
6 >>> ak(1,2)
7 {'i': 1, 'y': 2, 'j': 2, 'x': 1} #显示当前作用域内局部命名空间
1.13globals
功能说明:返回当前作用域内的全局命名空间,返回类型为dictionary
使用说明:
1 >>> def ak(x,y):
2 ... j=x
3 ... i=y
4 ... print globals()
5 ...
6 >>> ak(1,2)
7 {'__builtins__': <module '__builtin__' (built-in)>, 'ak': <function ak at 0x2b9d5b98c230>, '__name__': '__main__', '__doc__': None} #显示当前作用域内全局命名空间
1.14type
功能说明:该函数有两种使用形式,type(obj)用来返回对象的类型,返回值是一个类型对象。type(name,bases,dict)返回一个新的