## 常用内置函数+可迭代对象,迭代对象 ### 重要内置函数 ```python zip() # 拉链,可有多个参数,需要是可迭代对象,会把可迭代对象,按对应关系,依次组成元组,没有对应关系的则直接抛弃 l1 = [1,2,3,'a'] l2 = ['a',1,2] res = zip(l1,l2) ''' [(1,'a'),(2,1)(3,2)] ''' filter # 过滤 第一个参数为过滤函数,需要返回布尔值 l1 = [1,2,3,'a'] res = filter(lambda x:x.isdecimal(),l1) ''' [1,2,3] ''' sorted # 排序默认升序 l1 = [2,1,5,4] res = sorted(l1) # 需要用变量接收排过序的列表 ''' [1,2,4,5] ''' ``` ### 常见内置函数 ```python 1.abs() #绝对值 num1 = -1 num2 = 10 res1 = abs(num1) # 1 res2 = abs(num2) # 10 2.all() # 所有数据值对用的布尔值为True结果才为True,否则为False num1 = 0 num2 = 'a' num3 = [1] res = all([num1,num2,num3]) # False num1 = 1 num2 = 'asd' num3 = [1,2] res = all([num1,num2,num3]) # Trues 3.any() 所有数据值对应的布尔类型有一个为True 则为 True 否则 为False num1 = 0 num2 = 'a' num3 = [1] res = all([num1,num2,num3]) # False num1 = 1 num2 = '' num3 = [] res = all([num1,num2,num3]) # True 4.bin()二进制 oct()八进制 hex()十六进制 int()十进制 5.bytes() 转换成bytes类型 6.callbale() # 判断名字是否可以加括号调用 可以为True 不可 为False 7.chr()数字转字母 ord()字母转数字 基于ascii 码表做数字与之母的对应关系 A-Z 65-90 a-z 97-122 8.dir() 返回括号内对象能调用的名字 9.divmod() 返回元组 第一个数据为整除数第二个为余数 res = divmod(100,2) (50,0) res = divmod(100,3) (33,1) 10.enumerate() #枚举 第一个参数为可迭代对象,第二个参数默认为零 11.eval() # 简单的字符串型python代码,不能有逻辑 12.exec() # 可以有逻辑的字符串型python代码 13.hash() # 哈希加密 14.id() 查看内存地址 input() 输入函数 isinstance(l,对象) 判断第一个参数数不第二个参数的子类 15.map() 映射 max()判断最大值 min() 判断最小值 16.open() 打开文件对象返回迭代器对象 17.pow() 幂次方(次方) res1 = pow(2,3) # 8 res2 = pow(3,2) # 9 18.range() 给定一个范围,取一个返回一个 19.round() 4舍5入在某些情况下5舍6入 res1 = round(15.5) 16 res2 = round(15.6) 16 res3 = round(98.5) 98 20.sum() 统计可迭代对象和 21.zip() 拉链 ``` ## 可迭代对象 ```python 可迭代对象 对象内置__iter__方法的都称为可迭代对象 ''' 1.通过.方式能够调用方法 2.__iter__ 双下iter ''' 可迭代对象范围 ''' str list tuple dict set 文件对象 ''' 不可迭代对象 ''' int float bool ''' 可迭代的含义 ''' 迭代:更新换代每次更新都必须依赖上一次的结果 例如:手机app更新 ''' 可迭代在python中可理解为是否支持for循环 ``` ## 迭代器对象 ```python 迭代器对象 是有可迭代对象调用__ietr__方法产生的 迭代器的对象判断的本质是看内置是否有__iter__,__next__ 迭代器的作业 提供一种不依赖于索引取值的方式 正因为有迭代器的存在 我们字典 集合,无序数据类型才能够被for循环 迭代器实操 s1 = 'good' res = s1.__iter__() # 迭代器对象 res.__next__() # g 迭代取值for循环的本质 res.__next__() # o res.__next__() # o res.__next__() # d res.__next__() # 取不到值直接报错 注意事项 可迭代对象__iter__会成为迭代器对象 迭代器对象如果还调用__iter__不会有任何变化 还是迭代器对象本身 s1 = 'good' res = s1.__iter__() # 迭代器对象 res.__next__() # g 迭代取值for循环的本质 res = s1.__iter__() # 迭代器对象 res.__next__() # g 迭代取值for循环的本质 res.__next__() # o 迭代取值for循环的本质 ``` ## for循环的本质 ```python for 临时变量名 in 可迭代对象: 循环体代码 ''' 1.先将in后面的数据调用__iter__转成迭代器对象 2.依次让迭代器对象调用__next__方法取值 3.再取完值后for循环自动捕捉异常报错,并处理 ''' ``` 异常捕获、异常处理 ```python 1.异常 异常就是代码在运行中报错 我们一般叫bug 代码运行过程中一旦遇到异常会直接结束整个程序运行 在编写代码的过程中要尽量避免 2.异常的分类 语法错误 不允许出现 一旦出现理解改正 否则直接寄,开始找下家公司 逻辑错误 允许出现的错误 因为它一眼发现不了代码运行之后才可能出现 3.异常结构 错误位置 错误类型 错误详情 ``` Last modification:October 17th, 2022 at 07:52 pm © 允许规范转载 Support 如果觉得我的文章对你有用,请随意赞赏 ×Close Appreciate the author Sweeping payments
Comment here is closed