今日内容概要

  • 重要内置函数
  • 常见内置函数
  • 可迭代对象
  • 迭代器对象
  • 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.异常结构
	错误位置  告诉你哪行代码出现问题
	错误类型  什么错误类型 
	错误详情  为什么错误

原文地址:http://www.cnblogs.com/lzjjjj/p/16792256.html

1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长! 2. 分享目的仅供大家学习和交流,请务用于商业用途! 3. 如果你也有好源码或者教程,可以到用户中心发布,分享有积分奖励和额外收入! 4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解! 5. 如有链接无法下载、失效或广告,请联系管理员处理! 6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需! 7. 如遇到加密压缩包,默认解压密码为"gltf",如遇到无法解压的请联系管理员! 8. 因为资源和程序源码均为可复制品,所以不支持任何理由的退款兑现,请斟酌后支付下载 声明:如果标题没有注明"已测试"或者"测试可用"等字样的资源源码均未经过站长测试.特别注意没有标注的源码不保证任何可用性