首页 > 编程语言 >进入python的世界_day15_python基础——内置函数、迭代器、异常捕获

进入python的世界_day15_python基础——内置函数、迭代器、异常捕获

时间:2022-10-14 21:26:09浏览次数:66  
标签:__ 迭代 .. python day15 对象 print 异常

一、一些重要内置函数、常见内置函数

1..zip()

​ 将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的zip对象,转成list即可查看,如果对应元素个数不一样,按水桶长短板效应返回短的,多余的直接不要

2.filter()

​ 是从列表(或其他序列类型)中筛选出满足条件的子列表

l1 = [1,2,3,4,5,6,7,8]
def check(i):return i % 2 == 0
a = list(filter(check, l1))
print(a)
>>>
[2, 4, 6, 8]

3..sorted()

​ sorted(可迭代对象, key = None # 排序规则, reverse=False # 默认升序)

4..abs() >>>绝对值

5..all() 、any() >>>类似and or 判断,所有数据布尔值为True才返回True

​ 所有数据有一个布尔值为True才返回True

6..callable() >>>判断名字是否可以加括号调用

7..chr() ord () >>>基于ASCII码表做数字与字母的转换

​ a~z 97~122

​ A~Z 65~90

8..dir() >>> 返回对象能调用的名字

9..divmod() >>> divmod(a, b) a除以b,返回c余d的一个元组

print(divmod(30, 4))
>>>
(7, 2)

10..eval() 、exec() >>> 函数用来执行一个字符串表达式,并返回表达式的值。

​ exec能力更强

x = 3
print(eval( '3 * x' ))
>>>
9

11..pow(a, b) >>>a的b次方

12..round() >>> 四舍五入,但是有点怪

13..sum() >>>求和

二、迭代器(iterator)

1.介绍

​ 迭代是指重复取值,每次都基于上一次的结果再进行下一次重复,必须要有关联,迭代器就是做这个事的工具。

2.为何要产生迭代器

​ 传统迭代取值,只能取带有索引的值,如列表、字符串、元组

​ 所以python提供了一种不依赖于索引的取值方式,统一的一种方式

3.可迭代对象

​ 内置有__iter__方法的都称之为可迭代对象 ,就是给你调用的

​ 有:字符串,列表,字典,元组,集合,文件对象

​ 无:整型、浮点型

4.用法(先当自己没学for循环)

​ 对可迭代对象用内置的iter方法,会将其转换成迭代器对象

​ 转了后就不依赖索引取值了

比如说字典:
dict1 = {'nike':18, 'jack':22, 'dacid': 30}
t = dict1.__iter__()
print(t.__next__())  >>>nike
print(t.__next__())  >>>jack
print(t.__next__())  >>>dacid
print(t.__next__())  >>>报错 # 迭代器没得值取了,异常
dict1 = {'nike':18, 'jack':22, 'dacid': 30}
t = dict1.__iter__()
while True:
    try:
        print(t.__next__())
    except StopIteration:
    	break
    # 拓展:把有可能run异常的代码缩进,然后捕捉异常后结束掉循环

5.注意

​ 在对一个迭代器对象取值取干净的情况下,再取取不到了,下干净了,需要再次迭代一下,就又可以继续取,返回的就是他自己,其实和没调一样

​ 可迭代对象 != 迭代器对象

​ 迭代器对象 一定= 可迭代对象

​ 既是可迭代对象又是迭代器对象的只有文件对象(打开的)

6.优缺点

​ 优点:

​ 只要对象是可迭代对象,都可以取值了

​ 更加省内存的占用

​ >>>比如说range()在python3 中就是被做成了可迭代对象,python2就是直接出列表(比较占内存)

​ 缺点:

​ 不能直接取到想要的位置的值,只能一个个的来取

三、for循环的工作原理

​ while循环可以称为条件循环,for循环可以称为迭代器循环

被输入的参数,统一被转成迭代器即在数据尾部加__next__
然后循环执行__next__取值,如果报错for循环会捕捉异常然后结束取值 

​ python为了节省内存,把可迭代对象打包成一个工厂(迭代器),要取值的时候再一个个给你

四、异常捕获

1.何为异常

​ 异常是程序发生错误的信号,程序一旦出错就会给出异常,程序的运行立即终止,pycharm中的波浪线其实也算是一种异常提醒

2.异常的捕获的三个特征

# 异常的追踪信息 ————定位异常位置 pycharm里点一下蓝色位置的行可以定位过去
# 异常的类型  
# 异常的内容 ——————错误的原因,是英文,一般看完就知道大致的解决方法

3.异常的种类

  • 语法错误 >>>比如说中文冒号啊,没缩进啊,需要立即修改
  • 逻辑错误 >>>一般是自己的想法、逻辑没按程序的规范写,出现了尽快修改

标签:__,迭代,..,python,day15,对象,print,异常
From: https://www.cnblogs.com/wznn125ml/p/16793042.html

相关文章

  • 从零开始撸python
    Day4:多线程聊天室这个比较简单,用来练一下手,不过发现一个问题,多线程用while循环的时候,不论循环条件,CPU占用直接拉满,但用列表for循环却可以,应该是和操作系统原理有关,希望知......
  • python 文件的写操作
    1写操作快速入门打开文件f=open("python.txt","w")文件写入f.write("helloworld")内容刷新f.flush()注意:直接调用write,内容并未真正写入文件,而是会积攒在程......
  • 内置函数、可迭代对象、迭代器对象
    1.重要内置函数1.zip:组成一个新的列表,列表中的元素是几个列表当中各元素组成的元组1.1几个列表数据值个数相等时:l1=[11,22,33,44,55]l2=['jason','kevin'......
  • python进阶之路14 之函数内置方法、可迭代对象、异常捕获处理
    重要内置函数1.map()映射l1=[1,2,3,4,5]#deffunc(a):# returna+1res=map(lambdax:x+1,l1)print(list(res))......
  • 内置函数、迭代器、异常处理
    内置函数、迭代器、异常处理目录重要内置函数常见内置函数可迭代对象1、概念2、可迭代对象的范围3.可迭代的含义迭代器对象1.迭代器对象2.迭代器对象的作用3.迭代器对象实......
  • python 文件练习
    题目通过Windows的文本编辑器软件,将如下内容,复制并保存到:word.txt,文件可以存储在任意位置itheimaitcastpythonitheimapythonitcastbeijingshanghaiitheimas......
  • 内置函数与可迭代对象、迭代器对象
    重要内置函数1.map映射map映射就是根据途共的函数对指定的序列做映射l1=[12,23,28,34,65]需求:元素全部自增6方法1:利用列表生成式defindex(n):returnn+6......
  • 内置函数与迭代对象
    今日内容总结重要内置函数常见内置函数可迭代对象迭代器对象for循环的本质异常捕获/处理重要内置函数zipzip()函数用于将可迭代的对象作为参数,主要......
  • python基础-内置函数、可迭代对象、迭代器对象、异常捕获
    python基础-内置函数、可迭代对象、迭代器对象、异常捕获目录一、重要内置函数1.zip2.filter过滤3.sorted升序排序二、常见内置函数1.abs()绝对值2.all()3.any()4.bin二进......
  • 内置函数及迭代器
    内置函数及迭代器重要内置函数1.zipzip()接受一系列可迭代的对象作为参数,将对象中的对应的元素打包成以一个个tuple,zip()函数返回iterable(可迭代对象) """传入的参......