python常见内置函数

今日内容概要

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

今日内容详细

重要内置函数

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

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

sorted
l1 = [21, 12, 53, 64, 76, 32, 11, 22]
res = sorted(l1)
print(res)  # 默认升序

常见内置函数

1.abs()  绝对值
print(abs(-100))
print(abs(100))
2.all()  所有数据值对应的布尔值为true结构才是true 否者返回false
print(all([0,1,2,3]))
print(all([1,2,3,True]))
3.any()  所有数据值对应的布尔值有一个为True结果就是True 否则返回False
print(any([0, None, '', 1]))
print(any([0, None, '']))
4.bin() oct() hex() int()
5.bytes()  转换成bytes类型
s1 = '今天周五 内容也很简单'
print(s1.encode('utf8'))
print(bytes(s1, 'utf8'))
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)
"""
总数据     每页展示的数据     总页码
100         10              10
99          10              10
101         10              11
"""
page_num, more = divmod(9999, 20)
if more:
    page_num += 1
print('总页码为:', page_num)  # 总页码为: 500
10.enumerate()  枚举
11.eval() exec()  能够识别字符串中的python并执行
s1 = 'print("哈哈哈")'
eval(s1)
s2 = 'for i in range(100):print(i)'
eval(s2)  # 只能识别简单的python代码 具有逻辑性的都不行
exec(s2)  # 可以识别具有一定逻辑性的python代码
12.hash()  哈希加密
print(hash('guts'))
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(99.9))
19.sum() # 相加返回一个值
print(sum([11, 22, 33, 44, 55, 66]))

可迭代对象

1.可迭代对象
	对象内置有__iter__方法的都成为可迭代对象
    """
	1.内置方法  通过点的方式能够调用的方法
	2.__iter__  双下iter方法
	"""
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循环的本质

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

异常捕获/处理

1.异常
	异常就是代码运行报错 行业俗语叫bug
	代码运行中一旦遇到异常会直接结束整个程序的运行 我们在编写代码的过程中药尽可能避免
2.异常分类
	语法错误
    	不允许出现 一旦出现立刻改正 否则提桶跑路
	逻辑错误
    	允许出现的 因为它一眼发现不了 代码运行之后才可能会出现
3.异常结构
	错误位置
 	错误类型
 	错误详情
posted @ 2022-10-14 18:30  理塘丁真1!5!  阅读(39)  评论(0编辑  收藏  举报