首页 > 编程语言 >Python基础15

Python基础15

时间:2022-10-14 17:13:54浏览次数:52  
标签:__ 15 迭代 Python res 基础 iter 对象 print

今日内容概要

  • 重要内置函数
  • 常见内置函数
  • 可迭代对象
  • 迭代器对象
  • for循环的本质
  • 异常

今日内容详细

重要内置函数

1.zip()
	zip 函数是可以接收多个可迭代对象,然后把每个可迭代对象中的第i个元素组合在一起,形成一个新的迭代器,类型为元组。
	# 两个可迭代对象数据值个数相同的情况下
	l1 = [1, 2, 3]
	l2 = ['jason', 'jack', 'tony']
	res = zip(l1, l2)
	# 此时的res是一个迭代器对象 需要转换类型才能看到具体的数据
	print(list(res))  # [(1, 'jason'), (2, 'jack'), (3, 'tony')]
   # 两个可迭代对象数据值个数不相同的情况下
	l3 = [1, 2, 3]
	l4 = ['jason', 'jack']
	res1 = zip(l1, l2)
	print(list(res1))  # [(1, 'jason'), (2, 'jack')] 多余的丢弃
    
3.filter
	filter 函数用于过滤序列,过滤掉不符合条件的元素,返回由符合条件元素组成的新列表。
	语法:filter(function, iterable)
	参数:function是进行判断的条件,可以是匿名函数,function必须返回一个bool变量,当function判断为True时,该元素进行保留,当function判断为False时,该元素不保留。
	l5 = [11, 22, 33, 44 ,55]
	res2 = filter(lambda x:x > 30, new_list)
	# 特别需要注意到一点是在Python2.7版本中filter()返回列表,而在Python3.x版本中filter()返回迭代器对象,我们可以使用内置函数list()手动将filter迭代器对象转化为列表
	print(list(res2))  # [33, 44, 55]
    
4.sorted
	sorted 函数是对可迭代对象进行排序。
	语法:sorted(iterable, cmp=None, key=None, reverse=False)
	参数:
		iterable是待排序的可迭代对象。
		cmp是比较的函数,这个具有两个参数,参数的值都是从可迭代对象中取出,此函数必须遵守的规则为,大于则返回1,小于则返回-1,等于则返回0。
		key是排序关键字,主要是用来进行比较的元素,只有一个参数,具体的函数的参	数就是取自于可迭代对象中,指定可迭代对象中的一个元素来进行排序。
		reverse是排序规则reverse = True 降序 , reverse = False 升序(默认)

	l6 = [33, 22, 55, 11, 88]
	res = sorted(l6)
	print(res)  # 默认是升序 [11, 22, 33, 55, 88]

常见内置函数

1.abs()
	其主要作用是对传入的参数,返回其的绝对量或绝对值
2.all()
	所有数据值对应的布尔值为True结果才是True 否则返回False
3.any()
	所有数据值对应的布尔值有一个为True结果就是True 否则返回False
4.bin() oct() hex() int()
	bin()转换为二进制 oct()转换为八进制 hex()转换为十六进制 int()转换为十进制
5.bytes()
	转换成bytes类型
6.callable()
	用于检查一个对象是否是可调用的。如果返回 True,仍然可能调用失败;但如果返回 False,调用对象绝对不会成功
7.chr() ord()
	基于ASCII码表做数字与字母的转换
	chr(数字) 返回值是对应的字符
	ord(字符) 返回值是对应的数字
8.dir()
	返回括号内对象能够调用的名字
9.divmod()
	返回元组 第一个数据为整除数 第二个是余数
	print(divmod(100, 3))  # (33, 1)
10.enumerate()
	返回一个元组,里面包含一个计数值(从 start 开始,默认为 0)和通过可迭代对象迭代获得的值
11.eval() exec()
	能够识别字符串中的python代码并执行
   eval() 只能识别简单的python代码 具有逻辑性的都不行
	exec() 可以识别具有一定逻辑性的python代码
12.hash()
	哈希加密
	用于获取取一个对象(字符串或者数值等的哈希值
13.isinstance()
	判断是否是一个已知类型
	a = 100
	res = isinstance(a, int)
	print(res)  # True
14.id() input() map() max() min() open() range() zip()
15.pow()
	返回一个数的次幂,可以利用pow函数计算一个数的平方,3次方等常见的操作
	print(pow(2, 2))  # 4
	print(pow(2, 3))  # 8
16.round()
	返回四舍五入值  # 其实是五舍六入
   print(round(98.3))  # 98
	print(round(98.6))  # 99
17.sum()
	对序列进行求和计算

可迭代对象

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

迭代器对象

1.迭代器对象
	是由可迭代对象调用__iter__方法产生的
	迭代器对象判断的本质是看是否内置有__iter__和__next__
2.迭代器对象的作用
	提供了一种不依赖于索引取值的方式
	正因为有迭代器的存在 我们的字典 集合才能够被for循环
3.迭代器对象实操
	s1 = 'hello'   # 字符串是可迭代对象
	res = s1.__iter__()  # 将s1转换成迭代器对象 并赋值给res
	print(res.__next__())  # 迭代取值 相当于for循环的本质
	当__next__取不到值的时候 会直接报错
4.注意事项
	可迭代对象调用__iter__会成为迭代器对象 如果成为迭代器对象后还调用__iter__不会有任何的变化 还是迭代器对象本身
	s1 = 'hello'
	res = s1.__iter__().__iter__()  
   # 没有任何作用和调用一次__iter__一样
	count = 0
	while count < 5:
		print(res.__next__())
		count += 1

for循环的本质

for 变量名 i in 可迭代对象:
    循环体代码
'''
1.先将in后面的数据调用__iter__转变成迭代器对象
2.依次让迭代器对象调用__next__取值
3.一旦__next__取不到值报错 for循环会自动捕获异常并处理
'''

异常捕获/处理

1.异常
	异常就是代码运行报错 行业俗语叫bug 代码运行过程中一旦遇到异常会直接结束整个程序的运行 在编写代码的过程中要尽可能的避免
2.异常分类
	语法错误
		不允许出现 一旦出现立刻改正 否则提桶跑路
	逻辑错误
    	允许出现的 因为它一眼发现不了 代码运行之后才可能会出现
3.异常结构
	错误位置  告诉你哪行代码出现问题
	错误类型  什么错误类型 
	错误详情  为什么错误

标签:__,15,迭代,Python,res,基础,iter,对象,print
From: https://www.cnblogs.com/lzjjjj/p/16792256.html

相关文章

  • python学习记录——与C#的差异
    1.可存在同名对象classA:def__init__(self):print('thisisclass.')defA():print('thisismethod.')a=A()#thisismethod.由于python......
  • 伯克利电子基础课EECS16A和EECS16B
    EECS16A:DesigningInformationDevicesandSystemsI,Summer2020(berkeley.edu)看EECS16A的教学计划觉得,他们的学业压力难怪那么大,一周四次课,每周两次作业,七周上完......
  • 【网络基础】手把手带你配置EIGRP协议 !
    EIGRP作为思科的私有协议,只能在思科的设备上完成配置,今天我们就从该协议的特性、工作原理、配置方法以及三张表来给大家系统介绍EIGRP。1.协议特性(1)EIGRP是距离矢量协议,对路......
  • python学习记录——类
    一、创建类classPeople:passp=People()二、构造函数__init__()方法是一种特殊的方法,被称为类的构造函数或初始化方法,当创建了这个类的实例时就会调用该方法。......
  • python--第十五课
    昨日内容回顾作业讲解1.装饰器2.递归函数算法简介及二分法算法:解决问题的方法二分法:每次取一半defget_middle(l1,target_num):iflen(l1)==0:......
  • Mysql基础第二天,安装Navicat
    1.我们到http://www.navicat.com这个网站下载Navicat2.现在开始安装3.点击下一步之后4.点击下一步5.点击下一步,等待安装6.点击完成7.打开软件,我们新建一个连接8.点击Mysql......
  • Mysql基础第十天,数据过滤
    1.组合WHERE子句selectprod_name,vend_id,prod_pricefromproductswherevend_id=1003andprod_price=2.5;//使用andselectprod_name,vend_id,prod_pricefrompr......
  • Mysql基础第十一天,用通配符进行过滤
    LIKE操作符selectcust_namefromcustomerswherecust_namelike'%ou%';//%通配符%ou以ou结尾ou%以ou开头%ou%中间包含ouselectcust_namefromcustomerswh......
  • Mysql基础第十二天,用正则表达式进行搜索
    基本字符匹配selectpro_namefromproductswhereprod_nameregexp'ee';//基本字符匹配selectpro_namefromproductswhereprod_nameregexp'.00';//含有00,前......
  • Java基础(五)| 方法的定义、调用及重载
    ⭐本专栏旨在对JAVA的基础语法及知识点进行全面且详细的讲解,完成从0到1的java学习,面向零基础及入门的学习者,通过专栏的学习可以熟练掌握JAVA编程,同时为后续的框架学习,进阶开......