1. NameError

在python中,如果引用的变量未定义,则会报告NameError: name ‘变量名’ is not defined。

如下代码抛出了一个异常:

!/usr/bin/env python

– coding:utf-8 –

print ‘hello world’

print ‘hello %s’ % name

报错信息如下:

Traceback (most recent call last):

File “hello.py”, line 6, in <module

print ‘hello %s’ % name

NameError: name ‘name’ is not defined

解决方案:

name = ‘world’

print ‘hello %s’ % name

原因:

变量name没有赋值。

提示:

一般来说,在python中,需要保证变量的定义在使用的前面。

  1. IndexError

在python中,如果list、tuple中的元素被引用的索引值超过了元素的个数,则会报告IndexError: list index out of range。

如下代码抛出了一个异常:

!/usr/bin/env python

– coding:utf-8 –

list = [‘a’, ‘b’, ‘c’]

print list[0]

print list[3]

报错信息如下:

Traceback (most recent call last):

File “hello.py”, line 7, in <module

print list[3]

IndexError: list index out of range

解决方案:

检查list的索引值。

原因:

list的索引值超过了list元素的个数。

  1. KeyError

在python中,如果dict中的key不存在,则会报告KeyError: ‘key’。

如下代码抛出了一个异常:

!/usr/bin/env python

– coding:utf-8 –

dict = {‘name’: ‘bai’, ‘age’: ’27’}

print dict[‘name’]

print dict[‘address’]

报错信息如下:

Traceback (most recent call last):

File “hello.py”, line 7, in <module

print dict[‘address’]

KeyError: ‘address’

解决方案:

检查dict的key。

原因:

dict中不存在address这个key。

  1. TypeError

在python中,如果一个对象不是内置对象的实例,则会报告TypeError。

如下代码抛出了一个异常:

!/usr/bin/env python

– coding:utf-8 –

print ‘hello world’

print ‘hello %

顺便介绍一下我的另一篇专栏, 《100天精通Python – 快速入门到黑科技》专栏,是由 CSDN 内容合伙人丨全站排名 Top 4 的硬核博主 不吃西红柿 倾力打造。 基础知识篇以理论知识为主,旨在帮助没有语言基础的小伙伴,学习我整理成体系的精华知识,快速入门构建起知识框架;黑科技应用篇以实战为主,包括办公效率小工具、爬虫、数据分析、机器学习、计算机视觉、自然语言处理、数据可视化等等,让你会用一段简单的Python程序,自动化解决工作和生活中的问题,甚至成为红客。

订阅福利原价299,限时1折订阅专栏进入千人全栈VIP答疑群,作者优先解答机会(代码指导/学习方法指引),群里大佬可以抱团取暖(大厂/外企内推机会)

订阅福利简历指导、招聘内推、80G全栈学习视频、300本IT电子书:Python、Java、前端、大数据、数据库、算法、爬虫、数据分析、机器学习、面试题库等等

专栏地址: 点击《100天精通Python – 快速入门到黑科技》