重要内置函数
1.zip #拉链
可以对多个数据合并 并且组成一个元组 如果数据多了则会被丢弃
# 代码举例:
# l1 = [11, 22, 33, 44, 55]
# l2 = ['jason', 'kevin', 'oscar', 'jerry', 'tony']
# l3 = [1, 2, 3, 4, 5]
# res = zip(l1, l2, l3)
# print(list(res))
2.filter #可以基于定义的条件筛选一系列数据
# l1 = [11, 22, 33, 44, 55, 66, 77, 88]
# res = filter(lambda x: x > 40, l1)
# print(list(res))
3.sorted 对数据进行排序 默认是升序
l1 = [21, 12, 53, 64, 76, 32, 11, 22]
res = sorted(l1)
print(res)
常见内置函数
1.abs() # 一种求数据绝对值的函数
# print(abs(-100))
# print(abs(100))
2.all() # 所有数据值对应的布尔值为True结果才是True 否则返回False
# print(all([0, 1, 2, 3]))
# print(all([1, 2, 3, True]))
3.any() 所有数据值对应的布尔值有一个为True结果就是True 否则返回False
# print(any([0, None, '', 1]))
# print(any([0, None, '']))
4.bin() 返回一个整数 int 或者长整数 long int 的二进制表示。
>>>bin(10)
'0b1010'
>>> bin(20)
'0b10100'
5.oct() 函数将一个整数转换成 8 进制字符串。
>>> oct(10)
'0o12'
>>> oct(20)
'0o24'
>>> oct(15)
'0o17'
6.hex() 函数用于将10进制整数转换成16进制,以字符串形式表示
>>>hex(255)
'0xff'
>>> hex(-42)
'-0x2a'
>>> hex(1L)
'0x1L'
>>> hex(12)
'0xc'
>>> type(hex(12))
<class 'str'> # 字符串
7.int() 函数用于将一个字符串或数字转换为整型
>>>int() # 不传入参数时,得到结果0
0
>>> int(3)
3
>>> int(3.6)
3
>>> int('12',16) # 如果是带参数base的话,12要以字符串的形式进行输入,12 为 16进制
18
>>> int('0xa',16)
10
8.bytes()
转换成bytes类型
9.callable()
函数用于检查一个对象是否是可调用的。如果返回 True,object 仍然可能调用失败;但如果返回 False,调用对象 object 绝对不会成功
对于函数、方法、lambda 函式、 类以及实现了 **__call__** 方法的类实例, 它都返回 True
callable()方法语法:
callable(object)
10.chr() ord()
chr(i)
用一个范围在 range(256)内的(就是0~255)整数作参数,返回一个对应的字符 返回值是当前整数对应的AScll字符
i -- 可以是10进制也可以是16进制的形式的数字
>>>print chr(0x30), chr(0x31), chr(0x61) # 十六进制
0 1 a
>>> print chr(48), chr(49), chr(97) # 十进制
0 1 a
ord()
返回对应的 ASCII 数值
>>>ord('a')
97
>>> ord('b')
98
>>> ord('c')
99
11.dir()
函数不带参数时,返回当前范围内的变量、方法和定义的类型列表;带参数时,返回参数的属性、方法列表。如果参数包含方法__dir__(),该方法将被调用。如果参数不包含__dir__(),该方法将最大限度地收集参数信息。
dir(对象,变量,类型)
返回值是返回模块的属性列表
例:
>>>dir() # 获得当前模块的属性列表
['__builtins__', '__doc__', '__name__', '__package__', 'arr', 'myslice']
>>> dir([ ]) # 查看列表的方法
12.divmod()
函数把除数和余数运算结果结合起来,返回一个包含商和余数的元组
语法:
divmod(数字, 数字)
例:
>>>divmod(7, 2)
(3, 1)
>>> divmod(8, 2)
(4, 0)
>>> divmod(1+2j,1+0.5j)
((1+0j), 1.5j)
13.enumerate()
枚举
14.eval() exec()
eval()
函数用来执行一个字符串表达式,并返回表达式的值
返回值:
是返回表达式计算结构
语法:
eval(expression[, globals[, locals]])
expression -- 表达式
globals -- 变量作用域,全局命名空间,如果被提供,则必须是一个字典对象
locals -- 变量作用域,局部命名空间,如果被提供,可以是任何映射对像
例:
>>>x = 7
>>> eval( '3 * x' )
21
>>> eval('pow(2,2)')
4
>>> eval('2 + 2')
4
>>> n=81
>>> eval("n + 4")
85
15.hash()
用于获取取一个对象(字符串或者数值等)的哈希值
16.id()
函数返回对象的唯一标识符,标识符是一个整数
CPython 中 id() 函数用于获取对象的内存地址
17.map() 映射
会根据提供的函数对指定序列做映射
第一个参数 function 以参数序列中的每一个元素调用 function 函数,返回包含每次 function 函数返回值的新列表
18.max()
方法返回给定参数的最大值,参数可以为序列。
19.min()
方法返回给定参数的最小值,参数可以为序列
20.open()
打开一个文件
21.pow()
方法返回 xy(x 的 y 次方) 的值。
22.range()
返回的是一个可迭代对象(类型是对象),而不是列表类型, 所以打印的时候不会打印列表
23.round()
方法返回浮点数x的四舍五入值。
但是有一种情况如果是5还是会丢弃是6才会进
简单可以理解为五舍六入
24.sum()
方法对序列进行求和计算。
25.zip()
函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表
如果各个迭代器的元素个数不一致,则返回列表长度与最短的对象相同,利用 * 号操作符,可以将元组解压为列表
可迭代对象
1.可迭代对象
对象内置有__iter__方法的都称为可迭代对象
"""
1.内置方法 通过点的方式能够调用的方法
2.__iter__ 双下iter方法
"""
2.可迭代对象的范围
不是可迭代对象
int float bool 函数对象
是可迭代对象
str list dict tuple set 文件对象
3.可迭代的含义
"""
迭代:更新换代(每次更新都必须依赖上一次的结果)
"""
在上上数据类型中我们可以发现可迭代兑现都是支持for循环的
迭代对象器
1.迭代器对象
是由可迭代对象调用__iter__方法产生的
迭代器对象判断的本质是看是否内置有__iter__和__next__
2.迭代器对象的作用
提供了一种不依赖于索引取值的方式
正因为有迭代器的存在 我们的字典 集合才能够被for循环
3.迭代器对象实操
s1 = 'hello' # 可迭代对象
res = s1.__iter__() # 迭代器对象
print(res.__next__()) # 迭代取值 for循环的本质
一旦__next__取不到值 会直接报错
4.注意事项
可迭代对象调用__iter__会成为迭代器对象 迭代器对象如果还调用__iter__不会有任何变化 还是迭代器对象本身
for循环的本质
for 变量名 in 可迭代对象:
循环体代码
"""
1.先将in后面的数据调用__iter__转变成迭代器对象
2.依次让迭代器对象调用__next__取值
3.一旦__next__取不到值报错 for循环会自动捕获并处理
"""
异常捕获/处理
1.异常
异常就是代码运行报错 行业俗语叫bug
代码运行中一旦遇到异常会直接结束整个程序的运行 我们在编写代码的过程中药尽可能避免
2.异常分类
语法错误
不允许出现 一旦出现立刻改正 否则提桶跑路
逻辑错误
允许出现的 因为它一眼发现不了 代码运行之后才可能会出现
3.异常结构
错误位置
错误类型
错误详情
标签:__,返回,内置,函数,迭代,对象,print
From: https://www.cnblogs.com/lsl1/p/16792611.html