[python学习篇][书籍学习][python standrad library][内建函数]之[list,open,len,pow,range,
Python 解释器内置了一些函数,它们总是可用的。这里将它们按字母表顺序列出。
- len(s)
-
返回对象的长度(元素的个数)。参数可以是序列(如字符串,字节,元组,列表或者范围)或者集合(如字典,集合或者固定集合)。
- list([iterable])
-
返回一个列表,其元素来自于iterable(保持相同的值和顺序)。iterable可以是个序列,支持迭代的容器,或者迭代器对象。如果iterable已经是个列表,返回其拷贝,类似于iterable[:]。例如,list('abc')返回['a', 'b', 'c'],list( (1, 2, 3) )返回[1, 2, 3]。如果没有参数,返回一个新的空的列表,[]。
>>> list(['a','b','c']) ['a', 'b', 'c'] >>> list(1,2,3) Traceback (most recent call last): File "<pyshell#55>", line 1, in <module> list(1,2,3) TypeError: list() takes at most 1 argument (3 given) >>> list('abc') ['a', 'b', 'c'] >>> list((1,2,3)) [1, 2, 3] >>> list() [] >>>
open(name[, mode[, buffering]])¶
打开一个文件,返回一个file类型的对象,file类型描述于File Objects章节。如果文件不能打开,抛出IOError。当要打开一个文件,优先使用open(),而不是直接调用file构造函数。
头两个参数类似于stdio‘s fopen()的参数:name是要打开的文件的名字,mode是个指示如何打开文件的字符串。
mode的常用值包括:'r'读文件;'w'写文件(如果文件存在则截断之);'a' 附加(在 某些Unix系统上意味着所有的写操作附加到文件的末尾,不管当前的写位置)。如果没有mode,默认是'r'。默认使用文本模式,它会在写文件时将'\n'字符转化成平台特定的字符,在读文件时又转回来。因此在打开二进制文件的时候,要以二进制模式打开文件,把'b'添加到mode值,这样可以增强可移植性。(在不区分二进制文件和文本文件的系统上,附加'b'仍然时有用的,它可以起到文档的目的。)参见下文以得到mode更多的可能的值。
可选的buffering参数指明了文件需要的缓冲大小:0意味着无缓冲;1意味着行缓冲;其它正值表示使用参数大小的缓冲(大概值,以字节为单位)。负的buffering意味着使用系统的默认值,一般来说,对于tty设备,它是行缓冲;对于其它文件,它是全缓冲。如果没有改参数,使用系统的默认值。[2]
模式'r+','w+'和'a+'打开文件以便更新(同时读写)。注意'w+'会截断文件。在区分文本文件和二进制文件的系统上,在模式中附加'b'会以二进制模式打开文件;在不区分的系统上,添加'b'没有效果。
除了标准的fopen()模式值,mode可以是'U'或者'rU'。构建Python时一般会添加universal newlines(统一新行)支持;'U'会以文本模式打开文件,但是行可以以以下字符结束:'\n'(Unix行结束符),'\r'(Macintosh惯例),或者'\r\n'(Windows惯例)。Python程序会认为它们都是'\n'。如果构建Python时没有添加统一新行的支持,mode 'U'和普通文本模式一样。注意,这样打开的文件对象有一个叫newlines的属性,它的值是None(没有发现新行),'\n','\r','\r\n',或者是包含所有已发现的新行字符的元组。
Python要求模式字符串在去除'U'后以'r','w'或者'a'开头。
Python提供了许多文件处理模块,包括fileinput,os,os.path,tempfile和shutil。
open 打开文件有两种模式; 文本模式和二进制模式,默认是文本模式,在打开二进制文件时一定要以b模式打开文件(rb)
pow(x, y[, z])
返回x 的 y次幂; 如果 z 提供的时候,, 返回 x 的 y 次幂,然后对 z 取模。(这样比 pow(x, y) % z) 更高效。两个参数的形式 pow(x, y) 与使用 操作符: x**y 是等价的。
range(stop)range(start, stop[, step])
这是一个创建包含数列的列表的通用函数。它最常用于for循环。参数必须为普通的整数。如果step参数省略,则默认为1。如果start参数省略,则默认为0。该函数的完整形式返回一个整数列表[start, start + step, start + 2 * step,...]。如果step为正,则最后一个元素start + i * step最大且小于stop;如果step为负,则最后一个元素start + i * step最小且大于stop。step必须不能为零(否则会引发ValueError)。示例:
>>> range(10) [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] >>> range(1, 11) [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] >>> range(0, 30, 5) [0, 5, 10, 15, 20, 25] >>> range(0, 10, 3) [0, 3, 6, 9] >>> range(0, -10, -1) [0, -1, -2, -3, -4, -5, -6, -7, -8, -9] >>> range(0) [] >>> range(1, 0) []
raw_input([prompt])
如果有prompt参数,则将它输出到标准输出且不带换行。该函数然后从标准输入读取一行,将它转换成一个字符串(去掉一个末尾的换行符),然后返回它。当读到EOF时,则引发EOFError。 示例:
>>> s = raw_input('---->') ---->abd >>> print s abd >>>