Python中的56个内置函数详解(三)

Python (185) 2023-05-01 11:41:41

17、dict()

描述:创建数据字典

语法

class dict(**kwarg)

class dict(mapping, **kwarg)

class dict(iterable, **kwarg)

参数

**kwargs -- 关键字

mapping -- 元素的容器。

iterable -- 可迭代对象。

案例

#创建空字典

dict(){}
#传入关键字dict(a='a',b='b',t='t'){'a':'a','b':'b','t':'t'}
#映射函数方式来构造字典dict(zip(['one','two','three'],[1,2,3])){'three':3,'two':2,'one':1}
#可迭代对象方式来构造字典dict([('one',1),('two',2),('three',3)]){'three':3,'two':2,'one':

18、dir()

描述:dir() 函数不带参数时,返回当前范围内的变量、方法和定义的类型列表;带参数时,返回参数的属性、方法列表。如果参数包含方法__dir__(),该方法将被调用。如果参数不包含__dir__(),该方法将限度地收集参数信息。

语法:dir([object])

参数:object -- 对象、变量、类型。

案例

dir()
#获得当前模块的属性列表
['In','Out','_','__','___','__builtin__','__builtins__',
'__doc__','__loader__','__name__','__package__','__spec__','_dh',
'_i','_i1','_ih','_ii','_iii','_oh','exit','get_ipython','quit']
dir([])#查看列表的方法dir(list())
#查看列表的方法['__add__','__class__','__contains__',
'__delattr__','__delitem__','__dir__','__str__',
'__subclasshook__','append','clear','copy','count',
'extend','index','insert','pop','remove','reverse',
'sort']print(dir(str))#获取所有的方法print(dir(list))
#获取所有的方法print(dir(dict))
#获取所有的不带参数时返回当前范围内的变量,方法和定义的类型列表;带参数时返回参数的属性,方法列表。

19、divmod()

描述:divmod() 函数把除数和余数运算结果结合起来,返回一个包含商和余数的元组(a // b, a % b)。

语法:divmod(a, b)

参数

a: 数字--被除数

b: 数字--除数

案例

divmod(11,3)(3,2)divmod(20,4)(5,0)

20、enumerate()

描述:enumerate() 函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,

同时列出数据和数据下标,一般用在 for 循环当中。返回一个可以枚举的对象,该对象的next()方法将返回一个元组。

语法:enumerate(sequence, [start=0])

参数

sequence -- 一个序列、迭代器或其他支持迭代对象。

start -- 下标起始位置。

案例

L=['Spring','Summer','Fall','Winter']
enumerate(L)<enumerateat0x226e1ee1138>
#生成的额迭代器,无法直接查看list(enumerate(L))
#列表形式,可以看到内部结构,默认下标从0开始[(0,'Spring'),(1,'Summer'),(2,'Fall'),
(3,'Winter')]list(enumerate(L,start=1))
#下标从1开始[(1,'Spring'),(2,'Summer'),(3,'Fall'),(4,'Winter')]fori,vinenumerate(L):
print(i,v)0Spring1Summer2Fall3Winterfori,vinenumerate(L,1):
print(i,v)1Spring2Summer3Fall4Winters=["a","b","c"]fori,vinenumerate(s,2):
print(i,v)2a3b4c普通的for循环i=0seq=['one','two','three']forelementinseq:
print(i,seq[i])i+=10one1two2three在看一个普通循环的对比案例
for循环使用enumerateseq=['one','two','three']fori,elementinenumerate(seq):
print(i,element)0one1two2threeseq=['one','two','three']fori,elementinenumerate(seq,2):
print(i,element)2one3two

21、eval()

描述:将字符串str 当成有效的表达式来求值并返回计算结果取出字符串中内容

语法:eval(expression[, globals[, locals]])

参数

expression -- 表达式。

globals -- 变量作用域,全局命名空间,如果被提供,则必须是一个字典对象。

locals -- 变量作用域,局部命名空间,如果被提供,可以是任何映射对象。

案例

s="1+3+5"eval(s)9
#要统计图片的数量str1="['https://ww1.sin5n.jpg','https://ww1.siqk4he.jpg']"len(eval(str1))2len(str1)5

22、exec()

描述:执行储存在字符串或文件中的Python语句,相比于 eval,exec可以执行更复杂的 Python 代码。

语法:exec(object, globals, locals)

参数

object-- 要执行的表达式。

globals -- 可选。包含全局参数的字典。

locals -- 可选。包含局部参数的字典。

案例

执行字符串或compile方法编译过的字符串,没有返回值s="print('helloworld')"
r=compile(s,"<string>","exec")exec(r)
helloworldx=10
expr="""
z=30
sum=x+y+zprint(sum)"""
deffunc():
y=20
exec(expr)
exec(expr,{'x':1,'y':2})
exec(expr,{'x':1,'y':2},{'y':3,'z':4})
func()603334

23、filter()

描述:filter() 函数用于过滤序列,过滤掉不符合条件的元素,返回由符合条件元素组成的新列表。

该接收两个参数,第一个为函数,第二个为序列,序列的每个元素作为参数传递给函数进行判断,然后返回 True 或 False,最后将返回 True 的元素放到新列表中。

过滤器,构造一个序列,等价于:[ item for item in iterables if function(item)]

在函数中设定过滤条件,逐一循环迭代器中的元素,将返回值为True时的元素留下,形成一个filter类型数据。

语法:filter(function, iterable)

参数

function -- 判断函数。

iterable -- 可迭代对象。

案例

fil=filter(lambdax:x>10,[1,11,2,45,7,6,13])
fil<filterat0x28b693b28c8>list(fil)[11,45,13]defis_odd(n):
returnn%2==1
newlist=filter(is_odd,[1,2,3,4,5,6,7,8,9,10])
print(list(newlist))[1,3,5,7,9]

24、float()

描述:将一个字符串或整数转换为浮点数

语法:class float([x])

参数:x -- 整数或字符串

案例

float(3)3.0float('123')#字符串123.0

Python中的56个内置函数详解(一)

Python中的56个内置函数详解(二)

Python中的56个内置函数详解(四)

Python中的56个内置函数详解(五)

Python中的56个内置函数详解(六)

Python中的56个内置函数详解(七)

THE END

发表回复