首页 > 其他分享 >重要内置函数、常见内置函数、可迭代对象、迭代器对象、for循环的本质、异常捕获处理

重要内置函数、常见内置函数、可迭代对象、迭代器对象、for循环的本质、异常捕获处理

时间:2022-10-14 19:44:40浏览次数:64  
标签:__ 内置 函数 迭代 对象 res iter print

重要内置函数

 #zip拉链 zip 函数是可以接收多个可迭代对象,然后把每个可迭代对象中的第i个元素组合在一起,形成一个新的迭代器,类型为元组。
l1 = [11, 22, 33]
l2 = ['a', 'b', 'c']
l3 = [1, 2, 3]
# 传统做法:
# 定义一个变量, 存储结果
# new_l = []
# for i in range(len(l1)):
#     new_l.append((l1[i], l2[i]))
# print(new_l)

res = zip(l1, l2, l3)
print(res)    #<zip object at 0x0000023674FEFE00>
print(list(res))  # [(11, 'a', 1), (22, 'b', 2), (33, 'c', 3)]

l1 = [11,22,33]
l2 = ['a', 'b', 'c', ]
l3 =[1, 2, 3, 4,5]
res =zip(l1,l2,l3)
print(list(res))  # [(11, 'a', 1), (22, 'b', 2), (33, 'c', 3)]

 # filter  过滤
l1 = [11, 22, 33, 44, 55, 66, 77, 88]
res = filter(lambda x: x > 40, l1)  #先使用for循环,然后遍历出来的数字给x,然后再判断x
print(list(res))   # [44, 55, 66, 77, 88]

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

常见内置函数

# 1.abs() 绝对值
print(abs(-100))  # 100
print(abs(100))   # 100
# 2.all() 所有数据值对应的布尔值为True结果才是True, 否则返回False
print(all([0, 1, 2, 3]))  #False
print(all([1, 2, 3, True]))  # True
# 3.any()  所有数据值对应的布尔值有一个为True结果就是True 否则返回False
print(any([0, None, '', 1])) #True
print(any([0, None, '']))  #False
# 4.bin() oct() hex()  int()  进制的转换
bin()转换为二进制 oct()转换为八进制 hex()转换为十六进制 int()转换为十进制
# 5.bytes() 转换成bytes类型
s1 = '今天周五'
print(s1.encode('utf8'))  # b'\xe4\xbb\x8a\xe5\xa4\xa9\xe5\x91\xa8\xe4\xba\x94'
print(bytes(s1,'utf8'))  # b'\xe4\xbb\x8a\xe5\xa4\xa9\xe5\x91\xa8\xe4\xba\x94'
# 6.callable()  判断名字是否可以加括号使用
用于检查一个对象是否是可调用的。如果返回 True,仍然可能调用失败;但如果返回 False,调用对象绝对不会成功
name = 'jason'
def index():
    print('from index')
print(callable(name))    # False
print(callable(index))    # True  函数名可以
# 7.chr() ord()
基于ASCII码表做数字与字母的转换
	chr(数字) 返回值是对应的字符
	ord(字符) 返回值是对应的数字
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)  # (33, 1)
print(res)
"""
总数据     每页展示的数据     总页码
100         10              10
99          10              10
101         10              11
"""
page_num, more = divmod(9999, 20)
print(divmod(99, 10))   # (9, 9 )
if more:
    page_num += 1
print('总页码为:', page_num)  # 总页码为: 500
# 10.enumerate() 枚举
返回一个元组,里面包含一个计数值(从 start 开始,默认为 0)和通过可迭代对象迭代获得的值
# 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))   # 4
print(pow(2, 3))   # 8
print(pow(2, 4))   # 16
# 17.range()
# 18.round() 四舍五入  # 其实是五舍六入
print(round(98.3))
print(round(98.6))
# 19.sum()
print(sum([11, 22, 33, 44, 55, 66]))
# 20.zip()

可迭代对象

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__不会有任何变化 还是迭代器对象本身
s1 = 'hello'
	res = s1.__iter__().__iter__()  
   # 没有任何作用和调用一次__iter__一样
	count = 0
	while count < 5:
		print(res.__next__())
		count += 1

for循环的本质

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

异常捕获/处理

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

标签:__,内置,函数,迭代,对象,res,iter,print
From: https://www.cnblogs.com/wxlxl/p/16792791.html

相关文章

  • 内置函数与迭代器
    目录一.重要内置函数1.zip2.filter3.sorted二.常见内置函数了解1.abs()绝对值2.all()3.any()4.bin()、oct()、hex()、int()5.bytes()6.callable()7.chr()ord()8.dir()9......
  • 常用内置函数+可迭代对象,迭代对象
    目录常用内置函数+可迭代对象,迭代对象重要内置函数常见内置函数可迭代对象迭代器对象for循环的本质常用内置函数+可迭代对象,迭代对象重要内置函数zip()#拉链,可有多个......
  • 迭代对象与迭代器对象,for本质 异常捕捉
    可迭代对象可迭代对象对象内置有双下iter(__iter__)方法的都可以称为可迭代对象。#内置方法就是我们在.调出来的可迭代对象范围分为两种一种是不可迭代对象,一种是......
  • php函数复习
    $c=(array)json_decode(@$_GET['c']);//数组里面包含元素m:2023n是array的元素个数为0第0个元素是arrayif(is_array($c)&&!is_numeric(@$c["m"])&&$c["m"]>2022)......
  • ALV DMEO 02:REUSE_ALV_GRID_DISPLAY 使用函数填充 FIELDCAT
    以下是纯顾问群~QQ群 :SAP干货铺,  群号:775662808所有群管理严格,严格禁止一切外来链接、招聘、广告等垃圾信息!如果您觉得这篇干货文章有用,请帮忙转载、分享给更多人,谢谢~......
  • 17、python函数篇 内置函数、迭代器对象、异常的捕获和处理
    目录一、重要内置函数1、zip()2、filter()3、sorted()二、常见内置函数1、abs()2、all、any()3、bin、oct、hex、int()4、bytes()5、callable()6、chr、ord()7、dir()8、d......
  • 重要内置函数,常见内置函数,可迭代对象,迭代器对象,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(......
  • 可迭代对象、迭代器对象、异常捕获
    可迭代对象、迭代器对象、异常捕获可迭代对象可迭代对象都有一个特点,对象内置__iter__方法,可以通过dir(对象)查看,也可以通过pycharm,在变量名后点一下.查看有没有这个内置......
  • 函数的内置方法
    今日内容回顾重要内置函数常见内置函数可迭代对象迭代器对象for循环的本质异常捕获/处理今日内容详解重要内置函数1.zip:拉链,可以把多个列表里的数据一一对应组......
  • python常见内置函数
    今日内容概要重要内置函数常见内置函数可迭代对象迭代器对象for循环内部原理异常处理今日内容详细重要内置函数zipl1=[11,22,33,44,55]l2=['jaso......