常见的Python运行时错误
date: 2020-04-01 14:25:00
updated: 2020-04-01 14:25:00
常见的Python运行时错误
1. SyntaxError:invalid syntax
- 忘记在 if,for,def,elif,else,class 等声明末尾加冒号
: - 使用= 而不是 ==
= 是赋值操作符而 == 是等于比较操作
- 尝试使用Python关键字作为变量名
- 不存在 ++ 或者 -- 自增自减操作符
2. IndentationError:unexpected indent 或 IndentationError:unindent does not match any outer indetation level 或 IndentationError:expected an indented block
- 错误的使用缩进量
记住缩进增加只用在以
:结束的语句之后,而之后必须恢复到之前的缩进格式。
3. TypeError: 'list' object cannot be interpreted as an integer
- 在 for 循环语句中忘记调用
len()通常你想要通过索引来迭代一个list或者string的元素,这需要调用 range() 函数。要记得返回len 值而不是返回这个列表。
4. TypeError: 'str' object does not support item assignment
- 尝试修改 string 的值,而 string 是一种不可变的数据类型
错误:
spam = 'I have a pet cat.'
spam[13] = 'r'
print(spam)
正确:
spam = 'I have a pet cat.'
spam = spam[:13] + 'r' + spam[14:]
print(spam)
5. TypeError: Can't convert 'int' object to str implicitly
- 尝试连接非字符串值与字符串,需通过 str(int) 来转化
6. SyntaxError: EOL while scanning string literal
- 在字符串首尾忘记加引号
7. NameError: name 'fooba' is not defined
- 变量或者函数名拼写错误
- 使用变量之前为声明改变量
spam += 1等于spam = spam + 1,意味着 spam 需要有一个初始值
8. AttributeError: 'str' object has no attribute 'lowerr'
- 方法名拼写错误
9. IndexError: list index out of range
- 引用超过list最大索引
10. KeyError:'id'
- 使用不存在的字典键值
在尝试获取字典键值的时候,先判断是否存在该键
id = data["id"] if "id" in data.keys() else ""
11. UnboundLocalError: local variable 'foobar' referenced before assignment
- 在定义局部变量前在函数中使用局部变量(此时有与局部变量同名的全局变量存在)
12. TypeError: 'range' object does not support item assignment
- 尝试使用 range()创建整数列表
range() 返回的是 “range object”,而不是实际的 list 值
错误:
spam = range(10)
spam[4] = -1
正确:
spam = list(range(10))
spam[4] = -1
13. TypeError: myMethod() takes no arguments (1 given)
- 忘记为方法的第一个参数添加self参数
class Foo():
def myMethod():
print('Hello!')
a = Foo()
a.myMethod()
常见的Python运行时错误的更多相关文章
- 17个常见的Python运行时错误
对于刚入门的Pythoner在学习过程中运行代码是或多或少会遇到一些错误,刚开始可能看起来比较费劲.随着代码量的积累,熟能生巧当遇到一些运行时错误时能够很快的定位问题原题.下面整理了常见的17个错误, ...
- [新手必看] 17个常见的Python运行时错误
对于刚入门的Pythoner在学习过程中运行代码是或多或少会遇到一些错误,刚开始可能看起来比较费劲.随着代码量的积累,熟能生巧当遇到一些运行时错误时能够很快的定位问题原题.下面整理了常见的17个错误, ...
- 【转】常见的python机器学习工具包比较
http://algosolo.com/ 分析对比了常见的python机器学习工具包,包括: scikit-learn mlpy Modular toolkit for Data Processing ...
- 列举一些常见的Python HTTP服务器
要使 Python 写的程序能在 Web 上被访问,还需要搭建一个支持 Python 的 HTTP 服务器.下面列举一些常见的 Python HTTP 服务器,以及它们目前的大致发展情况,以便用户的对 ...
- [转]17个新手常见Python运行时错误
原址:http://www.oschina.net/question/89964_62779?p=1 当初学 Python 时,想要弄懂 Python 的错误信息的含义可能有点复杂.这里列出了常见的的 ...
- 17个新手常见Python运行时错误
当初学 Python 时,想要弄懂 Python 的错误信息的含义可能有点复杂.这里列出了常见的的一些让你程序 crash 的运行时错误. 1)忘记在 if , elif , else , for , ...
- python--17个新手常见Python运行时错误
当初学 Python 时,想要弄懂 Python 的错误信息的含义可能有点复杂.这里列出了常见的的一些让你程序 crash 的运行时错误. 1)忘记在 if , elif , else , for , ...
- 【转载】17个新手常见Python运行时错误
转自:http://www.cnblogs.com/smile-ls/archive/2013/05/20/3088393.html 当初学 Python 时,想要弄懂 Python 的错误信息的含义 ...
- python的Error集,17个新手常见Python运行时错误
python及相关工具安装Error集 . 如果升级python版本中出现error .so.1.0: cannot open shared object file: No such file or ...
随机推荐
- 我搭建了一套企业级私有Git服务,抗住了每天上万次攻击!
写在前面 事情是这样的,今年疫情期间,我在某云购买了一套服务器,做什么呢?不是用来部署项目,也不是用来搭建网站,而是用来做代码备份和管理.没错,都是我个人的代码,也许你会说,你个人能有多少代码啊?确实 ...
- 源码上看 .NET 中 StringBuilder 拼接字符串的实现
前几天写了一篇StringBuilder与TextWriter二者之间区别的文章(链接).当时提了一句没有找到相关源码,于是随后有很多热心人士给出了相关的源码链接(链接),感谢大家.这几天抽了点时间查 ...
- Laravel Model查询结果的3种存储格式内存占用对比
PHP Laravel框架支持Model查询数据后可以有多种方式返回数据,对新手会造成一些困扰,比如数组Model对象.集合.纯数组 今天从内存占用的角度对比一下3种数据返回方式 按数组Model对象 ...
- 刷题[极客大挑战 2019]HardSQL
解题思路 打开是一个登陆框,考点sql注入了,先正常尝试一波 发现居然是get类型 输入and发现有waf过滤,那fuzz一波看看过滤了什么 fuzz union被过滤,并且绕过union的几种方法同 ...
- django中外键的related_name属性
我先定义两个模型,一个是作者,一个是作者出版的书籍,算是一对多的类型. class Person(models.Model); name = models.CharField(verbose_name ...
- Linux系统编程—条件变量
条件变量是用来等待线程而不是上锁的,条件变量通常和互斥锁一起使用.条件变量之所以要和互斥锁一起使用,主要是因为互斥锁的一个明显的特点就是它只有两种状态:锁定和非锁定,而条件变量可以通过允许线程阻塞和等 ...
- zookeeper watch笔记
ZK其核心原理满足CP, 实现的是最终一致性, 它只保证顺序一致性. zookeeper 基于 zxid 以及阻塞队列的方式来实现请求的顺序一致性.如果一个client连接到一个最新的 followe ...
- Spring基础知识1--环境搭建、bean创建、依赖注入、注解注入
一.Spring两大核心内容 1.控制反转IOC/DI: 应用本身不负责对象的创建和维护,对象和依赖对象的创建完全交给容器管理. 2.AOP(面向切面编程):通过预编译的方式,在运行期通过动态代理的 ...
- 关于Python中以字母r,或字母u 开头的字符串
(1)以r或R开头的Python中的字符串表示(非转义的)原始字符串 python里面的字符,如果开头处有个r,比如: (r'^time/plus/\d{1,2}/$', hours_ahead) ...
- 006 01 Android 零基础入门 01 Java基础语法 01 Java初识 06 使用Eclipse开发Java程序
006 01 Android 零基础入门 01 Java基础语法 01 Java初识 06 使用Eclipse开发Java程序 Eclipse下创建程序 创建程序分为以下几个步骤: 1.首先是创建一个 ...