python(内置方法,迭代器)

今日内容概要

  • 重要内置函数
  • 常见内置函数
  • 可迭代对象
  • 迭代对象
  • for循环内部原理
  • 异常处理

今日内容详细

zip()拉链
列表中的数据与数据之间进行链接,最后组成一个元组
但是数据的的数量都是一一对应的多了不行,少了也不行

l1 = [11,22,33,44,55]
l2 = ['jason', 'kevin', 'oscar', 'jerry', 'tony']
l3 = [1, 2, 3, 4]
res = zip(l1, l2, l3)
print(list(res))
#[(11, 'jason', 1), (22, 'kevin', 2), (33, 'oscar', 3), (44, 'jerry', 4), (55, 'tony', 5)]

filter() 过滤
如果数据是数字,看想取的值是多少,进行一个范围的筛选过滤掉不需要的值

# l1 = [11, 22, 33, 44, 55, 66, 77, 88]
# res = filter(lambda x: x > 40, l1)
# print(list(res))

sorted ()排序
会对数据进行排序,如果是数字就是数字之间的排序,如果是字母就是按照字母对应的ASCLL码表对应的数值进行比较

 sorted
l1 = [21, 12, 53, 64, 76, 32, 11, 22]
res = sorted(l1)
print(res)  

range([start,]stop[,step])
创建一个整数列表,一般用在for循环中。
其中的参数说明为:

start : 生成的整数从start开始,可省略,默认为0.
end : 生成的整数以end结束,但不包含end。
step : 步长,默认为1
image

常见内置函数

1.abs ()返回一个数的绝对值。参数可以是普通的整数,长整数或者浮点数。如果参数是个复数,返回它的模。

2.all() 所有数据值对应的布尔值为True结果才会为True,否则就会返回False

3.any()所有数据值的布尔值只要有一个为True结果就是True,全部为False结果才会是False

4.进制之间的转换:bin(二进制) oct(八进制) hex(十六进制) int(十进制)

5.bytes() 数据类型转换成bytes类型

6.callable() 判断名字是否可以加括号进行调用函数

7.chr() ord() 用于ASCLL码表做数字和字母之间的转换

8.dir() 返回括号内对象能够调用的名字

9.divmod() 四舍六入 元组 第一个数据为整数,第二个数据是余数

res = divmod(100, 2)
# print(res)  # (50, 0)
# res = divmod(100, 3)
# print(res)

10.enumerate() 枚举

enumerate() 的作用就是按 序号(索引序列)+元素(值) 的形式将一个可迭代对象返回
例如有个列表 [ “a”,“b”,“c”], 通过 enumerate() 可以直接获取到 (0,“a”)、(1,“b”)、(2,“c”) 序号搭配元素

11.eyal () exec () 能够识别字符串中的python并执行

 s1 = 'print("哈哈哈")'
 eval(s1)   # 只能识别简单的python代码,具有逻辑性的都不不行
 exec(s1)  #  可以识别具有一定逻辑性的python代码
 s2 = 'for i in range(100):print(i)'

12.hash() 哈希加密

13.id() 内存地址

14.max() min()返回数据中的最大值和最小值

15.isinstance()判断数据类型

更多>>>>>:https://www.cnblogs.com/qiguanfusu/p/16795050.html

可迭代对象

1.什么是可迭代对象?
对象内置有__iter__方法的都称为可迭代对象

1.内置方法  通过点的方式能够调用的方法
2.__iter__双下inter方法

2.可迭代对象范围

	不可迭代对象
	int float bool 函数对象
	
	是可迭代对象
	str list dict tuple set 文件对象

3.可迭代的含义

"""
迭代:更新换代(每次更新都必须依赖上一次的结果)
eg:手机APP的更新
"""
可迭代在python中可以理解为是否支持for循环

迭代对象

1.迭代器对象

	是由可迭代对象调用__iter__方法产生的
	迭代器对象判断的本质是看是否内置有__iter__和__next__

2.迭代器对象的作用

	提供了一种不需要依赖索引取值的方式
	正因为有迭代器的存在,我们的字典,集合才能够被for循环

3.迭代对象实操

 s1 = 'hello'  # 可迭代对象
    res = s1.__iter__()  # 迭代器对象
    print(res.__next__())  # 迭代取值 for循环的本质
	 一旦__next__取不到值 会直接报错

4.注意事项

可迭代对象调用__iter__会成为迭代器对象,迭代器对象如果还调用__iter__不会有任何变化,还是迭代器对象本身

for循环的本质

循环体代码

1.先将in后面的据调用__iter__转变成迭代器对象
2.依次让迭代器对象调用__next__取值
3.一旦__next__取不到值就会报错,for循环会自动捕获并处理不会造成报错现象影响整个代码的运行。

异常捕获/处理

1.异常

Y异常就是代码运行报错,行业术语叫bug
代码运行中一旦遇到异常就会直接结束占、整个整个程序的运行,写程序不出错是不可能发生的事情,而程序员要做的事情就是及时的捕获错误,修改错误

2.异常分类

	语法错误
		不允许出现,一旦出现立刻改正,否则就等着玩完
	
	逻辑错误
		是允许出现的,因为它一眼是发现不了的,代码运行之后才可能会出现

3.
异常结构
错误位置
错误类型
错误详情

posted @ 2022-10-15 22:19  亓官扶苏  阅读(250)  评论(0编辑  收藏  举报