今日内容概要

  • 重要内置函数
  • 常见内置函数
  • 可迭代对象
  • 迭代器对象
  • for循环的本质
  • 异常处理/捕获
  • 练习题及答案

1.重要内置函数

1. zip()
l1 = [1,2,3,4]
l2 = ['jason','kevin','oscar','jerry']
res = zip(l1,l2)
print(list(res))
# [(1, 'jason'), (2, 'kevin'), (3, 'oscar'), (4, 'jerry')]  两个列表拼接成元组
2.
	filter   # 过滤
    l1 = [11,22,33,44,55,66,77,88,99,100]
    res = filter(lambda x:x >40,l1)  # 两个参数一个是函数 ,另一个为可迭代对象
    print(list(res)  
3.
	sorted
    l2 = ['jason', 'kevin', 'oscar', 'jerry']
res = sorted(l2)
print(res)  # ['jason', 'jerry', 'kevin', 'oscar']
    # 排序,它跟sort的区别是在于sort是列表的独有方法 sorted的参数为可迭代对象

2.常见内置函数

1.
abs()  # 绝对值
print(abs(-20))  # 20
2.
all()  # 所有数据值对应的布尔值为True,结果才是True,如果不是则返回False
print(all([0,1,2,3]))
any()  # 只要有一个数据值对应的布尔值为True,结果就是True
print(any[0,None,'',1])  
3.
oct() hex() bin() int() #  进制转换
4.
bytes() # 转换成字节类型
5.
6.callable()  判断名字是否可以加括号调用
name = 'jason'
def index():
    print('from index')
print(callable(name))  # False
print(callable(index))  # True
7.chr() ord()  基于ASCII码表做数字与字母的转换
print(chr(65))  # A
print(ord('A'))  # 65
8.dir()  返回括号内对象能够调用的名字
print(dir('hello'))
9.divmod()  元组 第一个数据为整除数 第二个是余数
res = divmod(100, 2)
print(res)  # (50, 0)
res = divmod(100, 3)
print(res)


page_num, more = divmod(9999, 20)
print(divmod(99, 10))  # (9, 9)
if more:
    page_num += 1
print('总页码为:', page_num)  # 总页码为: 500
10.enumerate()  枚举
11.eval() exec()  能够识别字符串中的python并执行
s1 = 'print("哈哈哈")'
eval(s1)
exec(s1)
s2 = 'for i in range(100):print(i)'
eval(s2)  # 只能识别简单的python代码 具有逻辑性的都不行
exec(s2)  # 可以识别具有一定逻辑性的python代码
12.hash()  哈希加密
print(hash('jason'))
13.id() input() isinstance()
14.map() max() min()
15.open()
16.pow()  幂指数(次方)
print(pow(2, 2))
print(pow(2, 3))
print(pow(2, 4))
17.range()
18.round() 四舍五入
print(round(98.3))
print(round(98.6))
19.sum()
print(sum([11, 22, 33, 44, 55, 66]))
20.zip()

3.可迭代对象

1.可迭代对象
 	对象内置有__iter__方法的都可以称为可迭代对象
     # 内置方法,通过.的方法能调用的方法
     # __inter__我们成为双下inter 方法
2.可迭代对象的范围
	不是可迭代对象: int float bool
     可迭代对象: list tuple set str dict 文件对象
3.可迭代的含义
	可迭代在python中可以理解为是否支持for循环

4.迭代器对象

1.迭代器对象
	迭代器对象是调用__inter__方法产生的
    迭代器对象判断的本质是看内置方法是否有__iter__和__next__
2.迭代器对象的作用
	提供了一种不依赖索引取值的方法
    我们有了迭代器,字典和集合才可以被for循环
    因为字典和集合是无序的
3.迭代器对象实操
	s1 = 'good'
    res = s1.__iter__()
    print(res.__next__())
    如果__next__取不到值,就会直接报错
4.注意事项
	可迭代对象调用__iter__会成为迭代器对象 迭代器对象如果还调用__iter__不会有任何变化 还是迭代器对象本身
    

5.for循环的本质

for 循环的本质就是 in后面的是可迭代对象
它主要是先调用__iter__()方法转变成迭代器对象
并且对他使用__next__()方法进行取值
如果__next__()取不到数值,那么它就会被for循环捕获并进行处理

6.异常捕获/处理

1.异常
	异常就是代码运行报错 行业俗语叫bug
	代码运行中一旦遇到异常会直接结束整个程序的运行
     我们在编写代码的过程中要尽可能避免
2.异常分类
	语法错误
    	不允许出现 一旦出现立刻改正 否则提桶跑路
	逻辑错误
    	是允许出现的 因为它不能一下看出来 代码运行之后才可能会出现
3.异常结构
	错误位置
 	错误类型
 	错误详情
有多行报错我们直接看最后一行,看他的错误位置和类型然后再看详情就可以了
我们也可以用debug模式查看代码到底是哪里出了问题,我们在对相关内容进行处理即可

原文地址:http://www.cnblogs.com/ddsuifeng/p/16793301.html

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