浅谈Python程序的错误:变量未定义


Posted in Python onJune 02, 2020

Python程序的错误种类

Python程序的错误分两种。一种是语法错误(syntax error)。这种错误是语句的书写不符合Python语言的语法规定。第二种是逻辑错误(logic error)。这种错误是指程序能运行,但功能不符合期望,比如“算错了”的情形。

变量未定义的错误

Python程序中,变量需要先定义后使用。如果没有这样做,就会出现变量未定义错误。这属于语法错误。Pycharm中,语法错误会用红色的波浪线标出来,如图1所示。

浅谈Python程序的错误:变量未定义

图1 Pycharm中,语法错误会用红色的波浪线标出来

Python程序运行的错误信息

Pycharm中,程序运行出错了,会在运行窗口(即输入数据或输出结果的窗口)中报告错误信息。强行运行图1的例子,将呈现图2所示的错误信息。

浅谈Python程序的错误:变量未定义

图2 下方的运行窗口中报告了错误信息

错误信息中,显示列出了程序的运行轨迹(Traceback)。这里,运行轨迹不长,以后会遇到很长的情形。运行轨迹只有一条,指出文件2-2-5-varError.py中的第3行(line 3),内容是“print(mesage) #mesage的拼写错了,漏了一个s”,存在错误。文件路径用蓝色字体程序,说明它是一个超链接,点击它,上面编辑器就列出该行代码及其附近的代码。

错误信息的最后,给出了错误的结论,NameError: name ‘mesage' is not defined. 译成中文就是,名字错误:变量名‘mesage'未定义。

要学会分析Python程序的错误信息。尽管它是英文的,你读多了就会抓住要领。利用错误信息,能更快的定位错误和纠正错误。

补充知识:python 报错“xxx is not defined”

python使用input()来接受字符串时一直报错“xxx is not defined”

对于 input() ,它希望能够读取一个合法的 python 表达式,即你输入字符串的时候必须使用引号将它括起来

以上这篇浅谈Python程序的错误:变量未定义就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
提升Python程序运行效率的6个方法
Mar 31 Python
Django返回json数据用法示例
Sep 18 Python
解决PyCharm不运行脚本,而是运行单元测试的问题
Jan 17 Python
python最小生成树kruskal与prim算法详解
Jan 17 Python
对Python中的条件判断、循环以及循环的终止方法详解
Feb 08 Python
python requests使用socks5的例子
Jul 25 Python
Pytorch卷积层手动初始化权值的实例
Aug 17 Python
numpy:np.newaxis 实现将行向量转换成列向量
Nov 30 Python
Python IDLE或shell中切换路径的操作
Mar 09 Python
Python中使用socks5设置全局代理的方法示例
Apr 15 Python
如何使用pycharm连接Databricks的步骤详解
Sep 23 Python
Python爬虫之Selenium中frame/iframe表单嵌套页面
Dec 04 Python
在python3.64中安装pyinstaller库的方法步骤
Jun 02 #Python
PyInstaller的安装和使用的详细步骤
Jun 02 #Python
Pyinstaller 打包发布经验总结
Jun 02 #Python
python def 定义函数,调用函数方式
Jun 02 #Python
基于python SMTP实现自动发送邮件教程解析
Jun 02 #Python
Python函数必须先定义,后调用说明(函数调用函数例外)
Jun 02 #Python
QML实现钟表效果
Jun 02 #Python
You might like
神族 PROTOSS 概述
2020/03/14 星际争霸
杏林同学录(八)
2006/10/09 PHP
php版微信小店调用api示例代码
2016/11/12 PHP
php使用PDO下exec()函数查询执行后受影响行数的方法
2017/03/28 PHP
laravel实现一个上传图片的接口,并建立软链接,访问图片的方法
2019/10/12 PHP
PHP+MySql实现一个简单的留言板
2020/07/19 PHP
csdn 论坛技术区平均给分功能
2009/11/07 Javascript
jQuery用unbind方法去掉hover事件及其他方法介绍
2013/03/18 Javascript
jQuery中 noConflict() 方法使用
2013/04/25 Javascript
JavaScript作用域链使用介绍
2013/08/29 Javascript
nodejs的10个性能优化技巧
2014/07/15 NodeJs
vue多级多选菜单组件开发
2020/09/08 Javascript
jQuey将序列化对象在前台显示地实现代码(方法总结)
2016/12/13 Javascript
Vue.js实战之组件的进阶
2017/04/04 Javascript
Js实现中国公民身份证号码有效性验证实例代码
2017/05/03 Javascript
bootstrap 点击空白处popover弹出框隐藏实例
2018/01/24 Javascript
操作按钮悬浮固定在微信小程序底部的实现代码
2019/08/02 Javascript
详解Vue.js 作用域、slot用法(单个slot、具名slot)
2019/10/15 Javascript
Vue 实现从文件中获取文本信息的方法详解
2019/10/16 Javascript
如何利用node.js开发一个生成逐帧动画的小工具
2019/12/01 Javascript
原生JavaScript实现轮播图
2021/01/10 Javascript
[02:14]完美“圣”典2016风云人物:xiao8专访
2016/12/01 DOTA
pymongo为mongodb数据库添加索引的方法
2015/05/11 Python
Python科学画图代码分享
2017/11/29 Python
详解django中使用定时任务的方法
2018/09/27 Python
python实现写数字文件名的递增保存文件方法
2018/10/25 Python
python递归调用中的坑:打印有值, 返回却None
2020/03/16 Python
兰蔻俄罗斯官方网站:Lancome俄罗斯
2019/12/09 全球购物
瑞典最大的儿童用品网上商店:pinkorblue.se
2021/03/09 全球购物
六一儿童节主持词
2014/03/21 职场文书
工作推荐信范文
2014/05/10 职场文书
模具专业求职信
2014/06/26 职场文书
幼儿园小班教师个人工作总结
2015/02/06 职场文书
新年寄语2016
2015/08/17 职场文书
纪检干部学习心得体会
2016/01/23 职场文书
vue 把二维或多维数组转一维数组
2022/04/24 Vue.js