您好,欢迎访问三七文档
当前位置:首页 > 机械/制造/汽车 > Python内建方法详解
Python内建方法Python提供了许多内建函数。下面按函数名字母顺序一一列出并作介绍。abs(x)返回一个数的绝对值。参数可以是一个普通整数、长整数或浮点数。如果参数是复数,则它的值被返回。如:若a=x+yi,则abs(a)=sqrt(x^2+y^2)。all(iterable)如果可编历对象中的所有元素都是真值,则返回True。相当于:defall(iterable):forelementiniterable:ifnotelement:returnFalsereturnTrue该函数是2.5版本中新增的。any(iterable)只要可编历对象中有一个元素为真值,就返回True。等价于:defany(iterable):forelementiniterable:ifelement:returnTruereturnFalse该函数是2.5版本中新增的。basestring()(注:basestring是一个可调用对象。)basestring是str与unicode的父类,它是一个抽象类,不能直接被调用或实例化,但可以用它来测试一个对象是否是str或unicode的实例:isinstance(obj,basestring),等效于isinstance(obj,(str,unicode))。该函数是2.3版本中新增的。bin(x)将一个整数转换成二进制字符串。结果是一个合法的Python表达式。如果参数x不是一个整数对象(intobject),它必须定义__index__()方法,并返回一个整数。该函数是2.6版本中新增的。bool([x])使用标准真值测试过程(standardtruthtestingprocedure)将一个值转换成布尔型。如果参数x省略或为假值(如:0,空字符串,None),返回False;否则总是返回True。bool也是类型,它是int类型的子类。但不能从bool类型派生子类。它只有两个实例:True和False。该函数是2.21版本中新增的。在2.3版本中有所改变:如果没有参数传入,函数返回False。callable(object)如果参数object是可调用的,返回True,否则返回False。即使函数返回True,调用该对象仍然有可能会失败;但是如果返回False,则调用对象肯定失败。注意:类都是可调用的(通过调用类返回一个新实例)。定义了__call__()方法的实例都是可调用的。chr(i)将assii码为i的整数转换成只包含一个字符的字符串。例如:chr(97)返回字符串’a’。参数i必须在0—255范围内,否则会触发ValueError异常。与之对应的一个函数是ord(c),它将字符转换成整数。也可以参考一下unichr()。classmethod(function)该函数返回一个类方法。类方法显式的接收第一个参数作为类类型,就如实例方法接收第一个参数作为对当前实例的引用。可以使用下面的语法定义一个类方法:classC:@classmethoddeff(cls,arg1,arg2,...):...@classmethod是一个函数修饰符----可以在Functiondefinitions中查询更多关于函数定义描述的信息。可以通过类(如:C.f())或实例(如:C().f())调用类方法。如果在派生类中调用父类的类方法,派生类对象(derivedclassobject)将作为第一个参数被传入类方法。Python类方法与C++或Java中的静态方法有区别。可以查询本章中对staticmethod的介绍来了解这些知识。更多关于类方法的信息,可以参考:Thestandardtypehierarchy.该函数是2.2版本中新增的。在2.4版本中作了修改:添加了对函数装饰语法的支持。cmp(x,y)比较两个对象并根据比较结果返回一个整数。如果xy,返回一个负数,如果xy返回一个正数,如果x==y返回0。compile(source,filename,mode[,flags[,dont_inherit]])将源代码编译成代码对象(codeobject)或AST对象。可以通过exec语句来执行代码对象,或通过eval()来求值。参数source可以是字符串或AST对象。更多关于AST对象的信息,可以参考ast模块文档。参数mode指定了代码编译的模式。它可以是:“exec”:代码段“eval”:单个表达式“single”:单条交互式语句可选参数flags和dot_inherit控制影响代码编译的将来语句。两个参数的默认值都是0,complex([real[,imag]])创建一个值为real+imag*j的复数,或将一个字符串或数字转换为一个复数。如果第一个参数是字符串,它将被作为复数解析,同时不能提供第二个参数。第二个参数不能是字符串。每个参数可以是任何的数字类型(包括复数类型)。参数imag的默认值为0。如果两个参数都省略,返回0j。delattr(object,name)参数是一个对象和字符串。字符串必须是对象属性的名称。函数删除对象的属性。如:delattr(x,“foobar”),相当于语句:delx.foobar。与delattr对应的函数是setattr,用于设置对象的属性。dict([arg])创建一个字典对象。可选的参数arg用于初始化字典项。字典类型在MappingTypes—dict章中进行介绍。关于其他的容器,可以参考list,set,tuple,collections模块。dir([object])如果省略参数,函数返回局部区域内的变量列表。如果参数没有省略,函数尝试将该参数对象的所有合法属性名称保存到列表中并返回该列表。如果对象定义了__dir__()方法,那么该方法将被调用,并返回属性列表。允许对象通过实现__getattr__()和__getattribute__()方法来自定义dir()返回对象的属性。如果对象没有定义__dir__(),dir()尝试从对象的__dict__属性(如果定义了__dict__)和对象所属类型中获取信息。dir()返回的结果不必是完整的,如果对象定义了__getattr__()方法,那么结果可能不准确。默认的dir()实现针对不同类型的对象可能有不同的行为,它尝试去获取更多相关的信息,而不是全部的信息:如果对象是模块对象(moduleobject),结果列表包含所有模块中定义的属性的名称。如果对象是类型或类对象,结果列表包含该类型所有的属性名称,包括从父类继承的。否则,结果列表包含对象的所有属性名称、对象所属类型的属性名称,以及父类的所有属性名称。结果列表根据属性的名称字母顺序保存。importstructdir()#doctest:+SKIP['__builtins__','__doc__','__name__','struct']dir(struct)#doctest:+NORMALIZE_WHITESPACE['Struct','__builtins__','__doc__','__file__','__name__','__package__','_clearcache','calcsize','error','pack','pack_into','unpack','unpack_from']classFoo(object):...def__dir__(self):...return[kan,ga,roo]...f=Foo()dir(f)['ga','kan','roo']divmod(a,b)接收两个数字(复数除外)作为参数,返回一对值:商,余数。对于不同类型的操作数,按二进制算术运算法则进行计算。对于普通整数与长整数,结果为:(a/b,a%b)。对于浮点数,结果为:(q,a%b),其中q=math.floor(a/b),如果q1,q=1。无论如何,q*b+a%b总是非常接近于a,如果a不能整除b,那么:0=abs(a%b)abs(b)。在2.3版本中作了修改:不赞成使用复数作为参数。enumerate(sequence[,start=0])返回一个enumerate对象。参数sequence必须是一个序列类型,iterator,或者其他支持编历的对象。通过调用enumerate()返回的iterator,它的next()方法返回一个包含计数(由参数start开始,默认值为0)和对应值的元组。可以使用Enumerate()来获取一个带索引的序列:(0,seq[0]),(1,seq[1]),(2,seq[2]),...例如:fori,seasoninenumerate(['Spring','Summer','Fall','Winter']):...printi,season0Spring1Summer2Fall3Winter该函数是2.3版本中新增的。在2.6版本中,增加了start参数。eval(expression[,globals[,locals]])参数expression是一个字符串,可选的globals参数必须是一个字典,可选的locals必须是一个映射对象(mappingobject)。Expression参数作为一个Python表达式而被解析并求值(evaluate),它使用globals与locals字典作为全局和本地变量。globals参数的默认值为当前的全局变量。locals参数默认为globals。如果两个参数都省略,那么eval()会在当前上下文中执行。执行过程中的异常都会被认为是语法错误异常。下面是使用eval的例子:X=1Printeval(‘x+1’)expression参数也可以是一个代码对象(通过compile()创建),如果代码对象使用’exec’模式进行编译(如:eval(compile(‘3+4’,‘string’,“exec”)),eval()函数将返回None。提示:exec()支持动态语句执行,使用execfile()来执行文件中的语句。Globals(),locals()分别返回全局变量和局部变量的字典,它们可以在调用eval,execfile时作为参数传入。execfile(filename[,globals[,locals]])这个函数与exec语句很像,但是它接收一个文件路径作为参数,并执行文件中的内容。它与import语句不同:它没有使用模块管理—它只是无条件的读取文件内容并执行,而没有创建一个新的模块。Execfile()的globals参数与locals参数的含义和eval()一样,但函数的返回值为None。file(filename[,mode[,bufsize]])file类型的构造函数,它的参数与open()方法的参数的含义一致。open()方法将在下面介绍。当要打开一个文件时,通常使用open()来代替file()。file()更适合在类型测试的时候来使用(如:isinstance(f,fle))。该函数是在此2.2版本中新增的。filter(function,iterable)分别对可编历对象中的元素应用函数,将结果为True的元素组成新的列表并返回(不改变原有列表。)。iterable参数可以是一个序列、一个支持编历的容器对象、也可以是一个iterator对象。如果参数是字符串类型或者tuple类型,那么返回的结果也是原来的类型;否则它总是返回一个列表(list)类型。如果function为None,则恒等函数(identityfunction)被作为筛选函数(过滤掉非真值元素)函数等效为:function不为None:[itemforiteminiterableiffunction(item)]Function为None:[itemforiteminiterableifitem]float([x])将一个字符串或数字转换为浮点数。如果参数是字符串,它可能包含符号或小数点,字符串参数也
本文标题:Python内建方法详解
链接地址:https://www.777doc.com/doc-4209975 .html