前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >完美解决丨#在python中,如果引用的变量未定义,则会报告NameError: name ‘变量名‘ is not defined。

完美解决丨#在python中,如果引用的变量未定义,则会报告NameError: name ‘变量名‘ is not defined。

作者头像
不吃西红柿
发布2023-04-21 21:07:34
2.8K0
发布2023-04-21 21:07:34
举报
文章被收录于专栏:信息技术智库
  1. NameError

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

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

代码语言:javascript
复制
!/usr/bin/env python
-- coding:utf-8 --
print 'hello world'
print 'hello %s' % name

报错信息如下:

代码语言:javascript
复制
Traceback (most recent call last):
File "hello.py", line 6, in <module
print 'hello %s' % name
NameError: name 'name' is not defined

解决方案:

代码语言:javascript
复制
name = 'world'
print 'hello %s' % name

原因:

变量name没有赋值。

提示:

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

  1. IndexError

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

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

代码语言:javascript
复制
!/usr/bin/env python
-- coding:utf-8 --
list = ['a', 'b', 'c']
print list[0]
print list[3]

报错信息如下:

代码语言:javascript
复制
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'。

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

代码语言:javascript
复制
!/usr/bin/env python
-- coding:utf-8 --
dict = {'name': 'bai', 'age': '27'}
print dict['name']
print dict['address']

报错信息如下:

代码语言:javascript
复制
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。

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

代码语言:javascript
复制
!/usr/bin/env python
-- coding:utf-8 --
print 'hello world'
print 'hello %
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023-04-17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档