今天我们继续了解下Python的内置函数,并看些简单的实例加深印象。
1.classmethod(function)
看了官方的解释比较绕,其实就是可以不需要实例化,直接类名.方法名()来调用。
这有利于组织代码,把某些应该属于某个类的函数给放到那个类里去,同时有利于命名空间的整洁。
2.compile(source,filename,mode,flags=0,dont_inherit=False,optimize=-1)
将source编译为代码或者AST对象。代码对象能够通过exec语句来执行或者eval()进行求值。
参数source:字符串或者AST(Abstract Syntax Trees)对象。即需要动态执行的代码段。
参数 filename:代码文件名称,如果不是从文件读取代码则传递一些可辨认的值。当传入了source参数时,filename参数传入空字符即可。
参数model:指定编译代码的种类,可以指定为 ‘exec’,’eval’,’single’。当source中包含流程语句时,model应指定为‘exec’;
当source中只包含一个简单的求值表达式,model应指定为‘eval’;
当source中包含了交互式命令语句,model应指定为'single'。
3.complex([real[,imag]])
函数功能,返回一个复数。有两个可选参数。当两个参数都不提供时,返回复数 0j。
当第一个参数为字符串时,调用时不能提供第二个参数。此时字符串参数,需是一个能表示复数的字符串,而且加号或者减号左右不能出现空格。
当第一个参数为int或者float时,第二个参数可为空,表示虚部为0;如果提供第二个参数,第二个参数也需为int或者float。
4.delattr(object,name)
函数作用用来删除指定对象的指定名称的属性,和setattr函数作用相反。
当属性不存在的时候,会报错。不能删除对象的方法。
5.dict()
字典类的构造函数。不传入任何参数时,返回空字典。
可以传入键值对创建字典。
可以传入映射函数创建字典。
可以传入可迭代对象创建字典。
6.dir([object])
返回当前的变量、方法和定义的类型列表的函数。
7.divmod(a,b)
接受两个数值(非复数),返回两个数值的相除得到的商,和余数组成的元组。
如果参数都是整数,执行的是地板除,相当于(a//b,a%b)。
如果参数时浮点数,相当于(math.floor(a/b),a%b)。
8.enumerate(iterable,start=0)
接受一个可迭代对象(序列或者迭代器),返回一个可枚举对象(同时返回索引和值,其中索引可以指定起始值)。
9.eval(expression,globals=None,locals=None)
执行动态语句,返回语句执行的值。
10.exec(object[,globals[,locals]])
exec函数和eval函数类似,也是执行动态语句,只不过eval函数只用于执行表达式求值,而exec函数主要用于执行语句块。
总结
仔细学习下内置函数还是很有必要的,今天的10个你有没有学会?
网友评论