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

454次阅读
没有评论

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

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)<enumerate at 0x226e1ee1138>
#生成的额迭代器,无法直接查看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')]for i,v in enumerate(L):  
print(i,v)0 Spring1 Summer2 Fall3 Winterfor i,v in enumerate(L,1):  
print(i,v)1 Spring2 Summer3 Fall4 Winters = ["a","b","c"] for i ,v in enumerate(s,2):   
print(i,v)2 a3 b4 c普通的 for 循环i = 0seq = ['one', 'two', 'three']for element in seq:   
print (i, seq[i])    i+= 10 one1 two2 three在看一个普通循环的对比案例   
for 循环使用 enumerate seq = ['one', 'two', 'three']for i, element in enumerate(seq):  
print (i, element)0 one1 two2 three seq = ['one', 'two', 'three']for i, element in enumerate(seq,2):   
print (i, element)2 one3 two

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)"""
def func():    
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(lambda x: x>10,[1,11,2,45,7,6,13])
fil <filter at 0x28b693b28c8>list(fil)[11, 45, 13]def is_odd(n):    
return n % 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
神龙|纯净稳定代理IP免费测试>>>>>>>>天启|企业级代理IP免费测试>>>>>>>>IPIPGO|全球住宅代理IP免费测试

相关文章:

版权声明:wuyou2021-06-15发表,共计3728字。
新手QQ群:570568346,欢迎进群讨论 Python51学习