当初学 Python 时,想要弄懂 Python 的错误信息的含义可能有点复杂。这里列出了常见的的一些让你程序 crash 的运行时错误。

1)忘记在 if , elif else for while class ,def 声明末尾添加 :(导致 “SyntaxError :invalid syntax”)

该错误将发生在类似如下代码中:

if spam == 42print('Hello!')

2)使用 = 而不是 ==(导致“SyntaxError: invalid syntax”)

= 是赋值操作符而 == 是等于比较操作。该错误发生在如下代码中:

if spam = 42:print('Hello!')

3)错误的使用缩进量。(导致“IndentationError:unexpected indent”、“IndentationError:unindent does not match any outer indetation level”以及“IndentationError:expected an indented block”)

记住缩进增加只用在以:结束的语句之后,而之后必须恢复到之前的缩进格式。该错误发生在如下代码中:

print('Hello!')print('Howdy!')或者:if spam == 42:print('Hello!')print('Howdy!')或者:if spam == 42:
print('Hello!')

4)在 for 循环语句中忘记调用 len() (导致“TypeError: 'list' object cannot be interpreted as an integer”)

通常你想要通过索引来迭代一个list或者string的元素,这需要调用 range() 函数。要记得返回len 值而不是返回这个列表。

该错误发生在如下代码中:

spam = ['cat', 'dog', 'mouse']
for i in range(spam):print(spam[i])

5)尝试修改string的值(导致“TypeError: 'str' object does not support item assignment”)

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)

6)尝试连接非字符串值与字符串(导致 “TypeError: Can't convert 'int' object to str implicitly”)

该错误发生在如下代码中:

numEggs = 12
print('I have ' + numEggs + ' eggs.')

而你实际想要这样做:

numEggs = 12
print('I have ' + str(numEggs) + ' eggs.')或者:numEggs = 12
print('I have %s eggs.' % (numEggs))

7)在字符串首尾忘记加引号(导致“SyntaxError: EOL while scanning string literal”)

该错误发生在如下代码中:

print(Hello!')或者:print('Hello!)或者:myName = 'Al'
print('My name is ' + myName + . How are you?')

8)变量或者函数名拼写错误(导致“NameError: name 'fooba' is not defined”)

该错误发生在如下代码中:

foobar = 'Al'
print('My name is ' + fooba)或者:spam = ruond(4.2)或者:spam = Round(4.2)

9)方法名拼写错误(导致 “AttributeError: 'str' object has no attribute 'lowerr'”)

该错误发生在如下代码中:

spam = 'THIS IS IN LOWERCASE.'
spam = spam.lowerr()

10)引用超过list最大索引(导致“IndexError: list index out of range”)

该错误发生在如下代码中:

spam = ['cat', 'dog', 'mouse']
print(spam[6])

11)使用不存在的字典键值(导致“KeyError:‘spam’”)

该错误发生在如下代码中:

spam = {'cat': 'Zophie', 'dog': 'Basil', 'mouse': 'Whiskers'}
print('The name of my pet zebra is ' + spam['zebra'])

12)尝试使用Python关键字作为变量名(导致“SyntaxError:invalid syntax”)

Python关键不能用作变量名,该错误发生在如下代码中:

class = 'algebra'

Python3的关键字有:and, as, assert, break, class, continue, def, del, elif, else, except, False, finally, for, from, global, if, import, in, is, lambda, None, nonlocal, not, or, pass, raise, return, True, try, while, with, yield

13)在一个定义新变量中使用增值操作符(导致“NameError: name 'foobar' is not defined”)

不要在声明变量时使用0或者空字符串作为初始值,这样使用自增操作符的一句spam += 1等于spam = spam + 1,这意味着spam需要指定一个有效的初始值。

该错误发生在如下代码中:

spam = 0
spam += 42
eggs += 42

14)在定义局部变量前在函数中使用局部变量(此时有与局部变量同名的全局变量存在)(导致“UnboundLocalError: local variable 'foobar' referenced before assignment”)

在函数中使用局部变来那个而同时又存在同名全局变量时是很复杂的,使用规则是:如果在函数中定义了任何东西,如果它只是在函数中使用那它就是局部的,反之就是全局变量。

这意味着你不能在定义它之前把它当全局变量在函数中使用。

该错误发生在如下代码中:

someVar = 42
def myFunction():print(someVar)someVar = 100
myFunction()

15)尝试使用 range()创建整数列表(导致“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

(注意:在 Python 2 中 spam = range(10) 是能行的,因为在 Python 2 中 range() 返回的是list值,但是在 Python 3 中就会产生以上错误)

16)不错在 ++ 或者 -- 自增自减操作符。(导致“SyntaxError: invalid syntax”)

如果你习惯于例如 C++ , Java , PHP 等其他的语言,也许你会想要尝试使用 ++ 或者 -- 自增自减一个变量。在Python中是没有这样的操作符的。

该错误发生在如下代码中:

spam = 1
spam++

也许这才是你想做的:

spam = 1
spam += 1

17)忘记为方法的第一个参数添加self参数(导致“TypeError: myMethod() takes no arguments (1 given)”)

该错误发生在如下代码中:

class Foo():def myMethod():print('Hello!')
a = Foo()
a.myMethod()

转载于:https://www.cnblogs.com/R-bear/p/7726521.html

python--17个新手常见Python运行时错误相关推荐

  1. python错误-新手常见Python错误及异常解决处理方案

    写Python代码的小伙伴不可避免地会遇到代码执行错误和异常,这次就来详细且不失通俗地总结一下python中的错误和异常. 先抛出两个问题: 什么是Python错误和异常? 如何处理Python错误和 ...

  2. 怎么解决python遇到问题_新手常见Python错误及异常解决处理方案

    新手常见Python错误及异常解决处理方案,异常,错误,语句,子句,代码 新手常见Python错误及异常解决处理方案 易采站长站,站长之家为您整理了新手常见Python错误及异常解决处理方案的相关内容 ...

  3. python常见错误-新手常见Python错误及异常解决处理方案

    写Python代码的小伙伴不可避免地会遇到代码执行错误和异常,这次就来详细且不失通俗地总结一下python中的错误和异常. 先抛出两个问题: 什么是Python错误和异常? 如何处理Python错误和 ...

  4. 一般人学python要多久,新手学python需要多久

    自学Python需要多久? 足够投入的话大概一个月.学编程语言有个小秘诀,直接上项目就是干,做完后你就是pythoner了.不要怕没有基础,边做边查边学,进步很快的.因人而异,一周或者一个月就能搞定. ...

  5. python invalid type promotion_17个新手常见Python运行时错误

    当初学 Python 时,想要弄懂 Python 的错误信息的含义可能有点复杂.这里列出了常见的的一些让你程序 crash 的运行时错误. 1)忘记在 if , elif, else, for, wh ...

  6. python not in range1002无标题_17个新手常见Python运行时错误

    学 Python 时,想要弄懂 Python 的错误信息的含义可能有点复杂.这里列出了常见的的一些让你程序 crash 的运行时错误. 1)忘记在 if , elif , else , for , w ...

  7. python定义函数名typo错误_17个新手常见Python运行时错误

    当初学 Python 时,想要弄懂 Python 的错误信息的含义可能有点复杂.这里列出了常见的的一些让你程序 crash 的运行时错误. 1)忘记在if,elif,else,for,while,cl ...

  8. python中常见的运行时错误_python--17个新手常见Python运行时错误

    当初学 Python 时,想要弄懂 Python 的错误信息的含义可能有点复杂.这里列出了常见的的一些让你程序 crash 的运行时错误. 1)忘记在 if , elif, else, for, wh ...

  9. python中常见的运行时错误_新手常见Python运行时错误汇总

    误的几个错容 on 初学者最易犯 hPyt 本文由老男孩教育撰写 -------- Python 时,总会遇到这样那样的报错,想要弄懂对于新手,初 学 Python 报错错误信息的含义可能还不知道怎么 ...

最新文章

  1. 海归技术大佬:硅谷科技公司到底牛在哪里?讲透“奈飞文化”8个原则!
  2. 路面平整度采集和计算方法
  3. 优麒麟桌面闪烁_UKUI 桌面环境登陆 Arch Linux
  4. 数据结构~~~线性表复习(栈的应用)
  5. SAP Spartacus 的路由配置
  6. 大数据分析苏轼,你没看错,这些都是小学生完成的
  7. Maven硒测试自动化教程
  8. mysql自增长主键_MySQL数据库8(九)列属性之主键、自增长
  9. mybatis使用in语句作为查询条件
  10. 利用 Windows 子系统 Linux(WSL)开发 Python 环境搭建
  11. 万字干货!详解JavaScript执行过程
  12. UVA10733 The Colored Cubes【Polya定理】
  13. WPF布局控件之StackPanel布局
  14. visio中控制箭头
  15. windows WTS 服务与桌面交互
  16. Windows Azure 虚机密码忘记处理
  17. 超详细,wepy小程序如何引入第三方插件wxPano
  18. chrome浏览器91版本,Chrome中跨域请求无法携带Cookie的解决方案
  19. 前领导想挖我去新公司,有坑吗?
  20. unity5.6.5适配Android P刘海屏,两侧去黑边

热门文章

  1. linux 特定用户ssh,linux - 如何在登录后将SSH用户限制为一组预定义的命令?
  2. java cellvalue_Java Cell.getErrorCellValue方法代码示例
  3. mysql连接池_数据库技术:数据库连接池,Commons DbUtils,批处理,元数据
  4. 一、uniapp项目(封装异步请求、moment.js时间处理、封装手势滑动组件、下载图片到本地)
  5. LeetCode 828. 统计子串中的唯一字符(中心扩展)
  6. 整理与总结Python关于对文件的操作
  7. 前端:实现div等块元素添加X轴滚动显示(Y轴不滚动)
  8. oracle xe 最大连接数,解决Oracle XE报错ORA-12516(Oracle回话数超出限制)
  9. php金字塔手动输入行数,[菜鸟学php] php版自定义函数实现金字塔
  10. 转usb驱动cmw500 ni_支持USB Type-C接口的外置蓝光驱动器IO Data BRP-UT6 / MC2本月发售...