常用函数/异常处理/for循环本质
常用内置函数
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.异常结构
错误位置
错误类型
错误详情

其实翻译一下就好了 可以查看到问题出现的位置,和问题提示。
常用函数/异常处理/for循环本质的更多相关文章
- python for循环及常用函数
python for循环 格式: for iterating_var in sequence: statements(s) ###################################### ...
- 最全的PHP常用函数大全
PHP的一些常用函数 quotemeta() 函数在字符串中某些预定义的字符前添加反斜杠. quoted_printable_decode() 函数对经过 quoted-printable 编码后的字 ...
- PHP常用函数归类【持续整理中......】
一.PHP基础语法 变量,常量 严格区分大小写,但内置结构或关键字无所谓(echo) 命名:不能以数字,空格,.来开头,但是可以有汉字,eg:$变量="aa"; ...
- python笔记-正则表达式常用函数
1.re.findall()函数 语法:re.findall(pattern,string,flags=0) --> list(列表) 列出字符串中模式的所有匹配项,并作为一个列表返回.如果无匹 ...
- 史上最全的PHP常用函数大全,不看看你就out了(还会不断更新哦!)
纪录了PHP的一些常用函数和函数代码!不要错过了哦. PHP的一些常用函数usleep() 函数延迟代码执行若干微秒.unpack() 函数从二进制字符串对数据进行解包.uniqid() 函数基于以微 ...
- PHP常用函数归类【持续整理】
学习了这么久PHP,基础知识总感觉不牢靠,尤其是数组,字符串函数的应用,全部手敲过次手,做出总结都是基础,在回顾一下吧. 一.PHP基础语法 变量,常量 严格区分大小写,但内置结构或关键字无所 ...
- [转]SQLServer和Oracle,存储过程区别,常用函数对比
本文转自:http://www.cnblogs.com/neru/archive/2011/08/18/2144049.html 以前一直用sqlserver,只有很少的一点oracle的经验,现在要 ...
- 对java异常的总结及java项目中的常用的异常处理情况
文章涉及内容来源:黑马程序员自学整理的笔记,网上查阅资料,以及转载名为墨钺的博客大佬,附上博客转载地址:https://www.cnblogs.com/gothic-death/p/9946415.h ...
- phpcms V9 常用函数 及 代码整理
常用函数 及 常用代码 总结如下 <?php //转换字符串或者数组的编码 str_charset($in_charset, $out_charset, $str_or_arr) //获取菜单 ...
- Python常用函数、方法、模块记录
常用函数: 1.pow():乘方 2.abs():绝对值 3.round():四舍五入 4.int():转换为整数 5.input():键盘输入(会根据用户的输入来做类型的转换) raw_input( ...
随机推荐
- 使用 systemd 定时器代替 cron 作业
转载自:https://mp.weixin.qq.com/s/HpDVp1sNYve8b7OdoHdGNw 创建一个定时器 首先,创建一个运行基础东西的简单的服务,例如 free 命令.举个例子,你可 ...
- 安装Alertmanager,nginx配置二级路径代理访问
安装配置 Alertmanager wget https://github.com/prometheus/alertmanager/releases/download/v0.20.0/alertman ...
- Beats: Filebeat和pipleline processors
简要来说: 使用filebeat读取log日志,在filebeat.yml中先一步处理日志中的个别数据,比如丢弃某些数据项,增加某些数据项. 按照之前的文档,是在filebeat.yml中操作的,具体 ...
- 大华海康NVR录像JAVA下载及WEB播放
近期在处理一个将NVR录像机上的录像下载到服务器并通过浏览器播放的需求. 梳理记录下过程,做个备忘,同时遇到的一些细节问题解决,也供需要的同学参考. 需求比较简单,就是把指定时间段的录像上传到服务器保 ...
- varchar与varchar2的区别
1. varchar2所有字符都占两字节处理(一般情况下),varchar只对汉字和全角等字符占两字节,数字,英文字符等都是一个字节. 2. varchar2把空串等同于null处理,而varchar ...
- MyBatis之ResultMap的association和collection标签详解
一.前言 MyBatis 创建时的一个思想是:数据库不可能永远是你所想或所需的那个样子. 我们希望每个数据库都具备良好的第三范式或 BCNF 范式,可惜它们并不都是那样. 如果能有一种数据库映射模式, ...
- Linux文本相关命令
Linux文本相关命令 目录 Linux文本相关命令 文本排序命令 文本去重命令 基础命令cut 文本三剑客 sed awk grep 文本排序命令 sort 常用参数: -n:以数值大小进行排序 - ...
- 关于JDK8中stream的用法小总结。
import java.io.Serializable; import java.util.*; import java.util.stream.Collectors; public class Ma ...
- TF-GNN踩坑记录(一)
引言 Batch size作为一个在训练中经常被使用的参数,在图神经网络的训练中也是必不可少,但是在TF-GNN中要求使用 merge_batch_to_components() 把batch之后的图 ...
- 猫狗识别-CNN与VGG实现
本次项目首先使用CNN卷积神经网络模型进行训练,最终训练效果不太理想,出现了过拟合的情况.准确率达到0.72,loss达到0.54.使用预训练的VGG模型后,在测试集上准确率达到0.91,取得了不错的 ...