惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
V
V2EX
WordPress大学
WordPress大学
U
Unit 42
I
InfoQ
A
About on SuperTechFans
宝玉的分享
宝玉的分享
J
Java Code Geeks
博客园 - 司徒正美
爱范儿
爱范儿
Engineering at Meta
Engineering at Meta
G
Google Developers Blog
人人都是产品经理
人人都是产品经理
小众软件
小众软件
Microsoft Security Blog
Microsoft Security Blog
L
LangChain Blog
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Hugging Face - Blog
Hugging Face - Blog
H
Hackread – Cybersecurity News, Data Breaches, AI and More
aimingoo的专栏
aimingoo的专栏
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Last Week in AI
Last Week in AI
腾讯CDC
Recent Announcements
Recent Announcements

老董笔记

尚硅谷机构在哪?尚硅谷培训怎么样?靠谱吗-互联网IT百科 韩顺平介绍,传智讲师,开办泰牛,入尚硅谷等一系列-互联网IT百科 pandas多重索引标准样式(写入excel有空行)-互联网IT百科 cannot join with no overlapping index names-互联网IT百科 pandas多列变多行(即宽表变长表)melt和stack函数-互联网IT百科 pandas多行转多列(长表变宽表)pivot和unstack-互联网IT百科 Index contains duplicate entries, cannot reshape完美解决-互联网IT百科 single positional indexer is out-of-bounds-互联网IT百科 Can only compare identically-labeled Series objects-互联网IT百科 pandas transform用法详解(多个案例)-互联网IT百科 python四舍五入精确实现-互联网IT百科 pandas的groupby使用apply分组排序-互联网IT百科 index 0 is out of bounds for axis 0 with size 0-互联网IT百科 pandas分组过滤filter函数-互联网IT百科 联想Win10系统如何禁用触摸屏关闭触摸-互联网IT百科 groupby分组计算transform转换返回相同长度序列-互联网IT百科 brooks seo教程python教程,brooks seo教程网盘,布鲁seo资源-互联网IT百科 电脑右键文件夹一直转圈电卡死怎么回事-互联网IT百科 施琪嘉的心理成长课(荐)-互联网IT百科 百度SEO公司_SEO推广公司哪家好_SEO外包服务如何选-老董笔记 groupby后agg同1列用多个聚合函数、不同列用不同函数、自定义函数-互联网IT百科 pandas的groupby单列多列分组聚合运算-互联网IT百科 DataFrameGroupBy对象及分组个数、分组大小、组名索引、组数据详解-互联网IT百科 pandas中groupby之Grouper and axis must be same length-互联网IT百科 pandas中groupby的分组原理-互联网IT百科 pandas的groupby的使用详解大全-互联网IT百科 openpyxl单元格自动换行强制换行Alignment(wrapText=True)-互联网IT百科 python教程全套(可就业)-互联网IT百科 联想win10系统CPU显示100%,电脑呼呼响怎么回事-互联网IT百科 如何自制CPU,CPU原理是怎么样的?-互联网IT百科
什么是异常?异常和错误的区别?为什么用异常-互联网IT百科
2020-08-01 · via 老董笔记

  异常和错误

  写程序的时候可能会犯错,有些错是语法层面的,无法去执行,这就是错误。有些错误语法上符合规范,但由于自身逻辑失误或者其他原因造成运行时出现故障,这就是异常,异常又称为运行时错误。不管是错误还是异常(如果未处理)都会导致程序停止运行。

  错误举例:你定义变量用数字开头;你用echo来输出变量而不是print,这些在python中这是不允许的。

  异常举例:一个列表lis有2个元素,你却写lis[2]让他输出第3个元素;一个字典只有key1你却写dict['key2']让他输出。

  为什么学习异常处理

  假设要读取10000个文件的数据,第1个文件名写错了但其他9999个文件都是ok的,可偏偏因为第1个文件读取错误就导致程序挂掉,本来能成功读取9999个的机会也被扔掉了。这个事情就很不划算。如果10000个文件你不知道哪个文件名不对呢?岂不是每一个都要判断一下文件是否存在,这也会增加代码量。

  所以,此情此景就得用异常这种机制来处理了。

  初步感受下语法

  一个简单的案例感受下效果,具体的语法后面会介绍。情景:用10除以列表里每一个元素得到一个新的列表。前提是原列表有个0。我们看下加异常和不加异常的效果。

# -*- coding: utf-8 -*-

lis = [1,0,2,3,4,5]
# 异常处理
for i in lis:
    try:
        print(10/i)
    except Exception as e:
        print(e,'除0是不行的')
    else:
        pass

print('-----------------')

for i in lis:
    print(10/i)


10.0
division by zero 除0是不行的
5.0
3.3333333333333335
2.5
2.0
-----------------
10.0
Traceback (most recent call last):
  File "D:/pyscript/py3script/python66/python66.py", line 17, in <module>
    print(10/i)
ZeroDivisionError: division by zero

  什么时候用异常处理

  作为新手可能会想为了让程序不挂掉我在每一句代码上都加上异常。这样是不合理的,过犹不及。异常检测也会消耗计算机的资源影响程序的效率。

  在程序中适合加异常的是那些你无法100%预知结果可能会错的地方。比如爬虫程序抓取一个网页可能会出现网络断了,此时请求网页的过程可以加个异常处理。

很赞哦!

python编程网提示:转载请注明来源www.python66.com。
有宝贵意见可添加站长微信(底部),获取技术资料请到公众号(底部)。同行交流请加群 python学习会