首页 > 其他分享 >常用函数/异常处理/for循环本质

常用函数/异常处理/for循环本质

时间:2022-10-14 18:33:53浏览次数:58  
标签:__ 函数 迭代 对象 本质 循环 iter l1 print

常用内置函数

1,map() - 映射
格式: map(函数,可遍历对象) 指将遍历的元素挨个取出来做函数的行参传参,得到的返回值全部放回map工厂中,map工厂可以被转换成列表查看到 每一个被函数处理好的列表

举例:
l1 = [1,2,3,4,5]
def func(a):
  return a+1
res = map(func,l1)
print(list(res)). #[2, 3, 4, 5, 6]  这里就把这个列表传给了这个函数

也可以利用匿名函数
res = map(lambda a:a+1,l1)  


2. max()/min() 最大值/最小值

l1 = [22,33,11,241,211,45]
print(max(l1))  # 241 可以直接帮你获得最大值
print(min(l1))   # 11 直接获取最小值


3. reduce  -简化 
from functools import reduce  # 已经不是内置方法了,需要导入模块
l1 = [1, 2, 3, 4, 5]
res = reduce(lambda a, b: a * b, l1)  # 计算 ((((1+2)+3)+4)+5)
print(res)

4.zip - 拉链
可以时多个数据依照位置合并 并返回一个一个元组
l1 = [1,2,3,4,5]
l2 = ['moon','calvin','kevin']
l3 = [1,2,3,4]
res = zip(l1,l2,l3)
print(list(res))
#[(1, 'moon', 1), (2, 'calvin', 2), (3, 'kevin', 3)]
#最小展示数量根据列表最小元素值

了解更多函数

1,abs() - 绝对值 
  print(abs(-100))  # 100 
  #可以把处理负数
  
2.all() -判断所有元素集整体布尔值是否为True 
   print(all([0, 1, 2, 3]))  # False 元素集中有一个为False 则为False
   print(all([1, 2, 3, True]))# True 元素集中所有元素为True 则为 True
 
3.any() -判断所有元素集整体布尔值是否为 Falis  
   print(any([0, 0, None, []]))  # True 元素中所有为falis则返回true
   print(any([[], 0, 1,None]))# 只有列表中有一个 为True 则 返回False
 
4.bin() 把整数转位2进制  oct() 把整数转位8进制  hex() 把整数转位16进制  int()把整数转位10进制

5.bytes() 
  可以把数据转换成bytes类型
	s1 = '今天周五 内容也很简单'
	print(s1.encode('utf8'))
	print(bytes(s1, 'utf8'))
  
6.callable()  - 可调用
  callable(name)   #返回结果时布尔值
  #可以查看这个变量是否可以调用
  
7.chr() ord()  基于ASCII码表做数字与字母的转换
	print(chr(65))  # A   a-z 97-122
 	print(ord('A'))  # 65    A-Z 65-90
  
 8.dir()  返回括号内对象能够调用的所有方法 函数
	print(dir('hello'))
 
 9.divmod()  元组 第一个数据为整除数 第二个是余数
 	res = divmod(100, 2)
 	print(res)  # (50, 0)
  #用于计算
  
 10.pow() 次方计算
    print(pow(2, 3)  #2的3次方
          
 11.round() 五舍六入
		print(round(98.3)) #98
		print(round(98.6)) #99
          
 12.sum()  总和
		print(sum([1, 2, 3, 4, 5])) # 15
          

可迭代对象

1.可迭代对象
	对象内置有__iter__方法的都称为可迭代对象  
  str.__iter__   list.__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 = 'moongod'  # 可迭代对象
    res = s1.__iter__()  # 迭代器对象
    print(res.__next__())  #  M  迭代取值 for循环的本质 相当于执行了一次for循环
	 一旦__next__取不到值 会直接报错
4.注意事项
	可迭代对象调用__iter__会成为迭代器对象 迭代器对象如果还调用__iter__不会有任何变化 还是迭代器对象本身

for循环的本质

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

异常捕获/处理

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

image

其实翻译一下就好了 可以查看到问题出现的位置,和问题提示。

标签:__,函数,迭代,对象,本质,循环,iter,l1,print
From: https://www.cnblogs.com/moongodnnn/p/16792588.html

相关文章

  • 解决C语言中scanf()、strcpy()函数报错问题。
    在C语言的学习中,使用VisualStudio2019编译器中的scanf()、strcpy()函数和一些数组里的函数会报错,这是编译器预处理没有设置好,下面看一下如何设置。先找到源文件中自己的项......
  • 常见内置函数及可迭代对象
    目录重要内置函数常见内置函数可迭代对象迭代器对象for循环的本质异常捕获/处理重要内置函数zipl1=[11,22,33,44,55]l2=['jason','kevin','oscar','jerry',......
  • 10月14日内容总结——内置函数、可迭代对象和迭代器、异常捕获与处理
    目录一、重要内置函数1、zip2、filter3、sorted二、常见内置函数(了解)1、abs2、all3、any4、bytes5、bin、oct、hex、int6、callable7、chr、ord8、dir9、divmod10、enumera......
  • SQL数据分析,窗口函数
    本文讲解窗口函数的概念,窗口函数与数据分组的功能相似,可以指定数据窗口进行统计分析,但窗口函数与数据分组又有所区别,窗口函数对每个组返回多行,而数据分组对每个组只返回一行......
  • 内置函数
    重要内置函数1.map()映射可以结和匿名函数一起用l1=[12,21,26,31,40]res=map(lambdax:x+6,l1)#map相当于for循环l1列表把列表里的数据传给x(相当于形参)......
  • SQL进阶,子查询与窗口函数
    上一节给大家讲到SQL取数的一些基本内容,包含SQL简单查询与高级查询,需要复习相关知识的同学可以跳转至上一节,本节给大家讲解SQL的进阶应用,在实际过程中用途比较多的子查询与......
  • Excel数据分析函数必备,超全总结
    为什么要学习Excel?首先,Excel是一个好用的工具,并不会因为你会Python而成为数据分析师,而是能用任何工具解决实际的业务问题,其次,Excel因为其简单易用,而受到人们的青睐。一般学......
  • js用循环添加精灵图的坐标
    用循环添加精灵图的坐标完成效果:css样式代码:<style>ul{width:180px;}li{list-style:none;......
  • 使用循环处理数组
    #include<iostream>#include<string.h> #include<limits.h>#include<float.h>#pragmawarning(disable :4996)#defineSIZE10#definePAR72usingnamespacestd;in......
  • ​MATLAB实战—最优Copula函数的选择
    Copula函数模型本文讲解Copula函数在实际生活中的应用,Copula函数描述的是变量间的相关性,实际上是一类将联合分布函数与它们各自的边缘分布函数连接在一起的函数,因此也有人将......