首页 > 其他分享 >常用内置函数+可迭代对象,迭代对象

常用内置函数+可迭代对象,迭代对象

时间:2022-10-14 19:23:24浏览次数:50  
标签:__ .__ 迭代 对象 res iter 内置

目录

常用内置函数+可迭代对象,迭代对象

重要内置函数

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]
'''

常见内置函数

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-92 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() 拉链

可迭代对象

可迭代对象
	对象内置__iter__方法的都称为可迭代对象
    '''
    1.通过.方式能够调用方法
    2.__iter__ 双下iter
    '''
    可迭代对象范围
    '''
    str list tuple dict set 
    '''
	不可迭代对象
    '''
    int float bool
    '''
	可迭代的含义
    '''
   	迭代:更新换代每次更新都必须依赖上一次的结果
   	例如:手机app更新
    '''
    可迭代在python中可理解为是否支持for循环

迭代器对象

迭代器对象
	是有可迭代对象调用__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循环的本质

for 临时变量名 in 可迭代对象:
    循环体代码
    
'''
1.先将in后面的数据调用__iter__转成迭代器对象
2.依次让迭代器对象调用__next__方法取值
3.再取完值后for循环自动捕捉异常报错,并处理
'''

异常捕获、异常处理

1.异常
	异常就是代码在运行中报错 我们一般叫bug
    代码运行过程中一旦遇到异常会直接结束整个程序运行 在编写代码的过程中要尽量避免
2.异常的分类
	语法错误
    	不允许出现 一旦出现理解改正 否则直接寄,开始找下家公司
    逻辑错误
    	允许出现的错误 因为它一眼发现不了代码运行之后才可能出现
3.异常结构
	错误位置
    错误类型
    错误详情

标签:__,.__,迭代,对象,res,iter,内置
From: https://www.cnblogs.com/clever-cat/p/16792732.html

相关文章

  • 迭代对象与迭代器对象,for本质 异常捕捉
    可迭代对象可迭代对象对象内置有双下iter(__iter__)方法的都可以称为可迭代对象。#内置方法就是我们在.调出来的可迭代对象范围分为两种一种是不可迭代对象,一种是......
  • 17、python函数篇 内置函数、迭代器对象、异常的捕获和处理
    目录一、重要内置函数1、zip()2、filter()3、sorted()二、常见内置函数1、abs()2、all、any()3、bin、oct、hex、int()4、bytes()5、callable()6、chr、ord()7、dir()8、d......
  • 重要内置函数,常见内置函数,可迭代对象,迭代器对象,for循环本质,异常捕获
    重要内置函数#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(......
  • 可迭代对象、迭代器对象、异常捕获
    可迭代对象、迭代器对象、异常捕获可迭代对象可迭代对象都有一个特点,对象内置__iter__方法,可以通过dir(对象)查看,也可以通过pycharm,在变量名后点一下.查看有没有这个内置......
  • 函数的内置方法
    今日内容回顾重要内置函数常见内置函数可迭代对象迭代器对象for循环的本质异常捕获/处理今日内容详解重要内置函数1.zip:拉链,可以把多个列表里的数据一一对应组......
  • python常见内置函数
    今日内容概要重要内置函数常见内置函数可迭代对象迭代器对象for循环内部原理异常处理今日内容详细重要内置函数zipl1=[11,22,33,44,55]l2=['jaso......
  • 内置函数
    重要内置函数1.zip#拉链 可以对多个数据合并并且组成一个元组如果数据多了则会被丢弃#代码举例:#l1=[11,22,33,44,55]#l2=['jason','kev......
  • 实验2 类和对象(2)
    实验四Complex.hpp#pragmaonce#include<iostream>#include<cmath>usingnamespacestd;classComplex{public:Complex(){};Complex(doublea){......
  • 把已经释放的CR的对象包到现有CR中
    我之前写了合并两个没有释放的CR的博客:​​http://blog.sina.com.cn/s/blog_c0978c9b0102vgiy.html​​今天是想把已经释放的CR,包到一个新CR下,合并不能用,但是可以用下面的方......
  • python迭代器
    目录可迭代对象迭代器对象可迭代对象和迭代器对象for循环的本质异常捕获如何看pycharm报错可迭代对象1.定义 对象内置有__iter__方法的都称为可迭代对象 """ 1.内置方......