python内置函数

所需积分/C币:35 2011-12-22 16:51:59 268KB PDF
收藏 收藏
举报

python内置函数大全 python内置函数大全 python内置函数大全 python内置函数大全
>>>0rd("a")97>>>ord(u"a")97 ●str(obj) str()函数把对象转换成可打印字符串。 >>>str("4")‘4>>>st(4)"4>>>str(3+2j)‘(3+2j) ● tuple(X tuple()函数把序列对象转换成 tuple。 >>> tuple(" hello world")("h’,'e',",","o,",w,'o,"r',","d")>>> tuple([1,2,3,41]) (1,2,3,4) Chapter3.序列处理函数 ●常用函数中的len()、max()和min(同样可用于序列。 o filter(function list 调用 filter(时,它会把一个函数应用于序列中的每个项,并返回该函数返回真值时的所有项,从而 过滤掉返回假值的所有项。 >>> def nobad(s):. return s find("bad") ["bad", good", "bade,we]>>>filter(nobad, s)[good,, 'we'] 这个例子通过把 norad(函数应用于s序列中所有项,过滤掉所有包含“bad"的项 map(function list, list1) map()函数把一个函数应用于序列中所有项,并返回一个列表。 >> import string >>>5=[" python", zope, linux >> map(string capitalize, s) ['Python, 'Zope, 'Linux'] map(还可同时应用于多个列表。如: >> import operator >>>S=[1,2,3]:t=[3,2,1>>> map(operator mul, S, t)# sli]tUjI [3,4,3] 如果传递一个None值,而不是一个函数,则map()会把每个序列中的相应元素合并起来,并返回 该元组。如 >>>a=[1,21;b=[3,4];C=[5,6]>>>map(None,ab,c)[(1,3,5),(2,4,6)] o reduce(function, seql, init]) reduce()函数获得序列中前两个项,并把它传递给提供的函数,获得结果后再取序列中的下一项, 连同结果再传递给函数,以此类推,直到处理完所有项为止 >>>import operator >> reduce(operator mul, [2, 3, 4, 51)#((2*3)*4) *5120>>> reduce(operator mul, [2, 3, 4, 5, 1)#(((12 *3) *4 *5 120>>> reduce(operator mul [2,3,4,5],2)#(2*2)*3)*4)*5240 ●zjp(seq[,seq,…,]) zip(函数可把两个或多个序列中的相应项合并在一起,并以元组的格式返回它们,在处理完最短序 列中的所有项后就停止 >>>zip([1,2,3][45],[7,8,9])[(1,4,7),(2,5,8)] 如果参数是一个序列,则zip()会以一元组的格式返回每个项,如: >>>zip(1,23,4,5)[(1,),(2),(3),(4,),(5>>>zjp([1,2,3,4,5])[(1),(2,),(3,),(4,), (5,)] Chapter4. String模块 o replace(string, old, newI, maxsplit]) 字符串的替换函数,把字符串中的old替换成new。默认是把 string中所有的old值替换成new 值,如果给岀 maxsplit值,还可控制替换的个数,如果 maxsplit为1,则只替換第-个σd值。 >>a=11223344 >>>print string. replace(a, 1,one )oneone2223344>>>print string replace(a, 1, one , 1)one12223344 ● capitalize( string) 该函数可把字符串的首个字符替换成大字。 > import string >> print string capitalize( python")Python o split(string, sep=None, maxsplit=-1 从 string字符串中返回一个列表,以sep的值为分界符。 >> import string >>>ip=192.168.3.3>>> ip list=string split(ip, .)>> print ip list[192,"1681,"3',"3] import( name, globals, locals[ fromlistl, levell] 被 import语句调用的函数。它的存在主要是为了你可以用另外一个有兼容接口的函数来改变 import语 句的语义.为什么和怎么做的例子,标准库模块 hooks和 rexec.也可以查看imp,它定义了有用的操作 你可以创建你自己的 import)函数 例如,语句" mport spa"结果对应下面的调用: import(spam, globals0), locals(),0.-1);语句"rom spam. ham import eggs"结果对应调用" import( spam. ham, globals(, locals(),[egsl,-1).注意即 使ocas(和[eggS]作为参数传递, import0函数不会设置局部变量egs; import语句后面的代码完 成这项功能的(实事上,标准的执行根本没有使用局部参数,仅仅使用 globals决定 import语句声明 package的上下文) 当name变量是 package module的形式,正常讲,将返回顶层包(第一个点左边的部分),而不是名为 name的模块.然而,当指定一个非空的 formalist参数,将返回名为ηame的模块.这样做是为了兼容为不 但是当使用" rom spam. ham import eggs",必须使用 spam. ham子包来查找eggs变量作为这种行为的 工作区间,使用 getattr提取需要的组件.例如,你可以定义下面 def my import(name) mod import (name) components= name. split(.) for comp in components[1: mod = getattr(mod, comp) return mod eve指定了是否使用相对或绝对导入.默认是-1将使用将尝试使用相对或绝对导入.0仅使用绝对导入.正 数意味着相对查找模块文件夹的leve层父文件夹中调用_ import。 abs( x 返回一个数的绝对值。参数也许是一个普通或长整型,或者一个浮点数。如果参数是一个复数,返回它 的积 all( iterable 如果迭代的所有元素都是真就返回真。 def all(iterable) for element in iterable if not element return false return true 版本2.5中新增 any( iterable 如果迭代中有一个元素为真就返回真。 def any(iterable for element in iterable if element return true return false 版本2.5中新增 restring 这个抽象类型是str和 unicode的父类。它不能被调用或初始化,但是它可以使用来测试一个对象是否是 st或 unicode的实例。 instance(obj, basestring)等价于 instance(ob,(str, unicode) 版本2.3中新增 OOI( IX 将一个值转换为 Boolean,使用标准的真测试程序。如果ⅹ是假或忽略了,将返回Fase;否则将返回 True bool也是一个cass,它是int的一个子类,bool类不能进一步子类化。它仅有Fase和True两个实 例 callable( object) 如果 object参数可以调用就返回Tue,否则返回 False。如果返回True,它仍然可能调用失败,但是如果返 回 False,就永远不可能调用成功。注类是可调用的(调用一个类返回一个实例);类的实例如果有一个 cal()方法就是可调用的。 chr( 返回一个一个asci码是整数i的字符的字符串。例如,chr(97)返回 string a'这和ord(刚好相反。这参数 在[0.255]之间,全部包含。如果超出这个范围,就抛出 Value error classmethod( function 返回函数的一个类方法。一个类方法 Return a class method for function.一个类方法接收类作为它的第一个潜在参数,就像一个实例方法接收 个实例。声明一个类方法,如下 class C: aclassmethod def f(cls, arg1, arg2,.) @ classmethod形式是一个函数 decorator。在函数参考手册的第七章有关函数定义的描述寻找更多的细 节 它即可以在一个类(例如Cf)上调用,也可以在一个实例上调用。这个实例将忽略它的类。如果一个继 承类调用一个类方法,这继承类对象将作为第一个潜在的参数传递。 类方法不同于C艹或Java的静态方法。如果你想这样做,使用 staticmethod( cmp(x, y) 根据比较两介对象X和y的结果,返回一个整数。如果xy返回值是负的,如果x=y返回0,如果x>y, 返回一个正数 compile( string, filename, kind[, flags[, dont inherit]] 编译 string为一个代码对象。代码对象能够通过exec语句执行或者通过调用evaQ计算。这 filename参 数指定代码从哪个文件读取。如果不从文件中读取,就须传递一些可识别的值(通常使 用< string>')。kind参数指定哪种代码被编译;如果是包含一系列语句组成的子符串可以exeC’,如果是由 个表达式组成,就eva,如果由一个交互语句组成就 singlw(在后面的例子,表达式语句计算的结果不 是None将打出来) 当编译一个多行语句时,应用两个警告:必须以n作为行结束符,同时输入必须至少以一个"n作为结束。 如果是以n作为行结束,使用 string的 repalce)方法将其改为n 可先的参数fags和 dont inherit控制影响 string编译的 future语句。更详细的请参考英文文档。 complex( [real[, imag]] 创建一个复数real+imag”或者将一个 string或者 number转化为一个复数.如果第一个参数是一个字符 串,它将作为复数解释,函数将被调用,而忽略第二个参数。第二个参数不可能是一个字符串。每一个参 数都可能是一个数字类型包括复数如果imag省略了,它默认为0,函数将当作一个数字转换函数像int(), ong) and float().如果参数都省略了,将返回0 delattr( object, name 与 setat(相对的,参数是一个对象和一个 string. string必须是对象的一个属性。函数删除obje这个名 为 string的属性。例如, delate(x," foobar')等价于delx. foobar dict( [argD) 以一个可选的位置参数或一组关键词参数初始化一个字典。如果没有给出参数,返回一个空的字典。如 果位置参数ag是一个映射对象,返回一个字典映射与映射对象相同的keys对应同样的值。那么位置参 数应是一个序列,支持迭代的容器,或者是一个迭代对象。参数的每一个元素也必须是其中的一种,同 时每一个包含两个对象。第一个作为新字典的key同时第二个作为这个key的值。如果给定的key不只 出现一次,这新字典将包含最后一个值。 如果给出的是关键词参数,关键词和与其相关的值都将作为字典的项添加到字典中。如果一个ke既作为 位置参数和作为一个关键词参数,关键词关联的值将保留在字典中。例如,下面所有返回都等价于 t"one":2,"wo":3}: dict(fone: 2, two: 31) dict(t'one: 2, two: 3. items) dict(fone: 2, two: 3. iteritems() dict(zip((one, two), (2, 3) dict([[two, 3],[one, 2]] dict(one=2, two=3) dict(l(T'one, two[-2], i) for i in(2, 3 版本22中新增 dir( object]) 如果没有参数,返回当前oca符号表中名字的列表。如果有一个参数将尝试返回这个参数对象的有效属 性。从对象的dict(如果定义了)属性,类或type对象收集信息。这个列表不一定是完整的。如果 对象是一个模块对象,ist包含模块属性的列表。如果对象是一个type或 class对象,列表将包含属性的 名字,同时递归其基地的属性。否则,列表将包含对象属性的名字,类属性的名字,递归若基类的属性 名字。结果列表按字母顺序排序。例如: >>>Import struct >> diro T builtins,doc, name, ' struct >> dir(struct) doc name ,calcsize,error, pack, unpack,] 注:因为dir(主要在交互提示下方便使用,它尝试提供一给有意思的名字而不是尝试提供严格的或与定义 样的名字,在 relrase中它的细节行为也许会改变。 divmod( a, b) 用两个数字(不是复数)作为参数,返回ong除法得到的商和余数组成的一对数字。使用混合的操作类 型,混合的类型,将应用应用二进制算术操作。对于一般和长整数,结果与(a∥b,a%b相同。对于浮 点数结果和(q,a%b相同,q通常是 math. fioor(a/b),但如果是比1小,就为1在任何情况下q*b+a %b与a很接近,如果a%b是非0的,它与b有相同的符号,同时0<=absa%b)<abs(b) enumerate( iterable) 返回 enumerate对象 iterable必须是一个序列一个代,或者其它对象它支持迭代 enumerate(返回的 iterate的next()方法返回一个元组包含一定的数目(从0开始)和从迭代中获取的对应的值 enumerate()对于获取一个索引系列很有用:(0,seq[0]),(1,seq[1])(2,seq[2]),…版本2.3中新增 eval( expression[, globals[, locals]]) 该参数是一个字符串和可选的 globals和 locals。如果提供 globals, globals必须是一个字典。如果提供 locals, locals可以是任何映射对象。2.4版本修改:以前 locals被要求是一个字典。 expression参数是作为一个 Python表达式被分析和评价(技术上来说,一个条件列表)使用 globals以 及cals字典作为 global和loca名字空间。如果提供了 globals字典但没有' builtins',当前 globals 在表达式被分析前被复制到 globals中。这意味着表达式可以完全访问标准_ builtin_模块和受限的环境。 如果 locals字典省略则默认为 globals字典。如果两个字典都被省略,表达式在调用eval的环境中执行。 返回值是计算表达式的结果。语法错误报告为 exceptions。例如 >>>X=1 >> print eval(x+1) 此函数也可以用来执行任意代码的对象(如 compiler创建的)。在这种情况下,传入一个代码对象,而 不是一个字符串。该代码对象必须已编译传给'eva作为这种参数。 提示:EXEC语句支持是动态执行语句。 execfile()函数支持从一个文件中执行语句。 globals()和 locals()函数分别返回当前的goba和 local字典,这对使用eva()或 execfile()很有帮助。 execfile( filename[, globals[. locals]) 这个功能类似于EXEC语句,但分析一个文件,而不是一个字符串。这是不同之处在于它的 import语句 不使用模块管理-它无亲件读取文件,并不会创建一个新的 module。 该参数是一个文件名和两个可选字典。该文件被作为 Python语句序列〔类似于一个模块)使用 globals 和|ocas作为 global and local命名空间来分析和计算。如果提供 locals, locals可以是任何映射对象 24版本修改:以前 locals被要求是一个字典。如果 locals字典省略则默认为全局字典。如果两个字典都 被省略,表达式 execfile()被调用的环境中执行。返回值为N。ne 警告:默认的 locals为下面的 locals():不要尝试修改默认的本地词典。如果你需要看到在函数 execfile( 返回后 locals代码的的影响,传递一个明确的 locals字典。 execfile()不能用于依赖修改函数的 ovals。 file( filename[, model, bufsizel) 文件类型的构造函数,39节进一步描述,文件对象'。构造函数的参数与下面的内建的open(函数是一 样的。 当打开一个文件,它是最好使用的open(),而不是直接调用此构造函数。文件更适合检验类型(例如, sistance(,fle))。 版本22中新增 filter( function, iterable function返回true时从 iterable的元素中构造一个列表。迭代可以是一个序列,一个支持迭代的容器,或 个迭代器,如果 Iterable的是一个字符串或一个元组,其结果也有这种类型的,否则它始终是一个列 表。如果 function是None,假定它是恒等函数,即,迭代是 false其所有元素都被删除。 请注意,fter( function, iterable),如果函数不为№one等价于[ item for item in iterable if function(item 如果函数为None等价于 item for item in iterable if item float([]) 将字符串或数字转换或一个浮点数。如果参数是一个字符串,它必须包含一个可能带符号的十进制或浮 点数,可能嵌入空格。否则,参数可以是一个普通或长整数或浮点数,返回一个与之相同值的浮点数 在 Python的浮点精度内)。如果没有给出参数,返回0.0。 注意:当传递一个字符串,可能会返回NaN和 Infinity,这取决于底层c库。 frozenset( iterable) 返回一个 frozenset对象,其元素来自于| tera|e。 Frozensets组没有更新的方法,但可以哈希和其他组 成员或作为字典键使用。一个 frozenset的元素必须是不可改变。内部sets也应是 frozenset对象。如果 迭代没有指定,返回一个新的空集, frozenset()。版本24中新增 getattr( object, namel, default) 返回 object名为name属性的值。名称必须是一个字符串。如果该字符串是对象的其中属性名字,结果 是该属性的值。例如, getattre(x," cobar)相当于 x foobar。如果指定的属性不存在,则返回默认提供的, 否则抛出 Attribute error。 globals() 返回代表当前goba符号表字典的字典。这始终是当前模块字典(在一个函数或方法内,是在它被定义 的模块,而不是被调用的模块)。 hasattr( object, name 该参数是一个对象和一个字符串。如果字符串是对象的其中一个属性,结果为True,如果没有返回 False。(这是通过调用的 getattr(对象名称),看是否引发异常与否。) hash( object) 返回对象(如果有的话)的哈希值。哈希值是整数。它们被用来在词典査找时,作为一个快速比较字典 keys键。具有相同的哈希值,数值相等(即使它们属于不同的类型,因为是1和1.0的情况)。 help( object]) 调用內置的帮助系统。(此功能是为交互使用。)如果没有给岀参数,交互式帮助系统启动解释控制台。 如果参数是一个字符串,然后是字符串被作为一个 module, function, class, method, keyword或文档 主题名称和帮助页面名字进行查找后在控制台上打印出来。如果参数是任何其他类型的对象,将产生该 对象的一个帮助页面。版本2.2中新增. hex( x) Convert an integer number(of any size) to a hexadecimal string. The result is a valid Python expression Changed in version 2. 4: Formerly only returned an unsigned literal 转换一个(任意大小)整数为十六进制字符串。其结果是一个有效的 Python表达式。在24版本变更 原只产生一个无符号的文字。 d( object) 返回对象的` identity"。这是一个整数(或长整型),这是保证是唯一的,与对象的生命周期一样长。两 个非重叠的生命周期的对象可能有相同的D()值。(实现注意:这是对象的地址。) input( [prompt]) 警告:此函数是不安全的,因为用户错误的输入!它期待一个有效的 Python表达式作为输入,如果输入 语法上是无效的,将抛出 SyntaxError。如果地计算过程中有一个的错误,将抛出其他 exceptions。(另 方面,有时这是你为特殊使用需要写一个快速脚本。) 如果 readline模块被加载, input(将使用它来提供详细行编辑和历史特性。 考虑使用 raw input()函数作为从用户进行一般输入。 int( [x[, radix]) 转换为字符串或数字为纯整数。如果参数是一个字符串,它必须包含一个可能有符号的十进制数作为 个 Python整数,可能嵌入空格。以radⅸ参数给岀的基数为基础进行转换(这是默认10),可以是任何 在[2,36]范围内的整数,或零。如果基数为零,根据字符串的内容猜测正确的基数。如果指定的基数x 是不是一个字符串,引发 TypeError异常。否则,参数可以是一个普通或长整数或浮点数。转换浮点数截 断为整数(直到零)。如果参数是整数范围之外的,将返回一个 long object。如果没有给出参数,返回 0 isinstance( object, classinfo) 返回tre如果该 object参数是 classinfo的一个实例,或其(直接或间接)子类的实例。也返回true如果 classinfo是一种tpe对象(new- style class)和是该类型或其(直接或间接)子类的对象。如果 object 不是cass一个的实例或者给定类型的对象,函数返回fase。如果 classinfo既不是一个类的对象也不是 个type的对象,它可能是一个包含类或类型的对象的 tuple,也可能包含其他的递归元组(序列类型不 接受)。如果 classinfo不是一个类,类型或元组类,类型,或者这种元组,将抛出一个 Type Error异常。 issubclass( class, classinfo 返回tue如果cass是 classinfo(直接或间接)的子类。一个类被认为是自己的子类。 classinfo可能是 类对象元组,在这种情况下元组中的每个 classinfo项将被进行测试。在其他任何情况下,抛出一个 TypeError异常。 iter(ol, sentinel]) 返回一个迭代器对象。第一个参数有不同的解释,视第二个参数的存在与否而定。如果没有第二个参数, o必须是一个对象的集合,支持迭代协议(iter()方法),或者它必须支持序列协议(以整数0开 始的参数 getitem()方法)。如果它不支持这些协议,将抛出 TypeError异常。如果第二个参数, sentinel,给出,然后o必须是可调用的对象。在这种情况下创造的每一个迭代器无参调用o它的 next()方法,如果返回值等于 sentinel,将抛出 Stoplteration,否则将返回其它的值 n(s) 返回一个对象的长度。参数可以是一个序列(字符串,元组或列表)或映射(词典)。 list( [iterable]) 返回一个列表的 items与可迭代的项目相同的顺序且相同的 items。可迭代可以是一个序列,一个容器, 支持迭代,或一个迭代器对象。如果可迭代已经是一个列表,将返回一个副本,类似的于 iterable[]。例 如,list(abc)返回ra,b,c和ist((1,2,3))返回[1,2,3]。如果没有给出参数,返回一个新的空列表, locals( 更新并返回一个代表当前loca符号表的字典。警告:本词典的内容不应该被修改,更改可能不会影响由 interpreter用作局部变量的值。 long([x[,rad×]) 转换字符串或数字为一个长整数。如果参数是一个字符串,它必须包含一个任意大小的可能有符号的数 字,并有可能嵌入空格。 radix参数解释和it)一样,而且只能当x是一个字符串时才需要它。否则,参 数可以是一个普通或长整数或浮点数,返回与其相同值的长整数。转换浮点数到截断的整数(直到零) 如果没有给出参数,返回OL。 map( function, iterable, .. 应用 function在 iterable的每一个项上并返回一个列表。如果有其他可迭代的参数,函数必须采取许多参 数应用于来自所有 iterables项。如果一个迭代比另一个短,将以None进行扩展。如果 function是 None,将假设为 identity function,如果有多个参数,map()返回一个列表包含所有 iterables相应的项目 的元组组成。可迭代的参数可能是一个序列或任何可迭代的对象,结果总是一个列表 max( iterable, args.keyl 个 Iterable参数,返回其中一个最大的非空可迭代项,(如一个字符串,元组或列表)。如有多个参数, 返回最大的参数 可选的key参数指定带一个参数的排序函数,用于 list, sort()。key参数,如果有,必须在以 keyword 的形式(例如,"max(a,b,ckey= func)")。 min( iterable[, args.]keyl 个 Iterable参数,返回其中一个最小的非空可迭代项,(如一个字符串,元组或列表)。如有多个参数, 返回最小的参数 可选的key参数指定带一个参数的排序函数,用于list.sort()。key参数,如果有,必须在以 keyword 的形式(例如,"max(a,b,ckey=func)")。 object() 返回一个新特征的对象。 object是所有 new style class的基类。它的方法是新样式类的所有实例共有的。 oct(X) 转换—(任意大小)整数到一个八进制字符串。其结果是一个有效的 Python表达式。 open( filename[, model, bufsize]) 打开一个文件,返回一个在39节中描述的文件类型的对象,` File objects。如果文件无法打开,| ERror 异常引发。当打开一个文件,最好调用open(),而不是直接用fe构造。 前两个参数与stdo的 fopen()函数一样: filename是要打开的文件名,mode是一个字符串,表示该 文件是如何被打开。 mode,最常用的值是r读,w写(文件如果已存在就截断),和a追加(在一些Unⅸx系统意味着所有 写入追加到文件尾部,无论其现在的seek位置)。如果模式被省略,默认为r等。当打开一个二进制文 件,你应该模式值加上"b,打开二进制模式,从而提高可行性。(在某些不区分二进制文件和文本文件 的系统追加b,,它将作为文档)。下面是mode的可能值: 可选 bufsize参数指定文件的所需缓冲区大小:0表示无缓冲,1表示行缓冲,任何其他的正数使用其大 小(在约)的一个缓冲区。负数 bufsize,使用系统默认,这ty设备通常使用行缓冲和其他文件的完全缓 冲。如果省略,使用系统默认。 模式r’w+"和々a打开文件进行更新〔请注意,w+'截断该文件)。附加b的模式在区分二进制和文本文 件的系统上以二进制方式打开文件,系统上没有这个区别,加入了"b没有效果 ord( c) 给定一个长度为1的字符串,返回一个整数,当参数是一个 Unicode对象,代表字符的 Unicode代码 或参数是一个8位字符串,代表其字节值,。例如,ord(a")返回整数97,ord(uwu2020)j返回8224。这

...展开详情
试读 27P python内置函数
立即下载 低至0.43元/次 身份认证VIP会员低至7折
抢沙发
一个资源只可评论一次,评论内容不能少于5个字
关注 私信 TA的资源
上传资源赚积分,得勋章
最新推荐
python内置函数 35积分/C币 立即下载
1/27
python内置函数第1页
python内置函数第2页
python内置函数第3页
python内置函数第4页
python内置函数第5页
python内置函数第6页

试读结束, 可继续读3页

35积分/C币 立即下载 >