返回顶部

新手必看,17个常见的Python运行错误

[复制链接]
ABCDEFGLv.2 显示全部楼层 发表于 2021-10-14 17:48:22 |阅读模式 打印 上一主题 下一主题
  1、忘记在if,for,def,elif,else,class等声明末尾加 :会导致“SyntaxError :invalid syntax”如下:

[Python] 纯文本查看 复制代码
if spam == 42
  print('Hello!')


  2、使用= 而不是 ==,也会导致“SyntaxError: invalid syntax”= 是赋值操作符而 == 是等于比较操作。该错误发生在如下代码中:

[Python] 纯文本查看 复制代码
if spam = 42:
  print('Hello!')


  3、错误的使用缩进量导致“IndentationError:unexpected indent”、“IndentationError:unindent does not match any outer indetation level”以及“IndentationError:expected an indented block”记住缩进增加只用在以:结束的语句之后,而之后必须恢复到之前的缩进格式。该错误发生在如下代码中:

[Python] 纯文本查看 复制代码
print('Hello!')
  print('Howdy!')


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

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

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


[Python] 纯文本查看 复制代码
spam = ['cat', 'dog', 'mouse']
for i in range(spam):
  print(spam[i])


  5、尝试修改string的值导致“TypeError: 'str' object does not support item assignment”string是一种不可变的数据类型,该错误发生在如下代码中:

[Python] 纯文本查看 复制代码
spam = 'I have a pet cat.'
spam[13] = 'r'
print(spam)


  而正确做法是:

[Python] 纯文本查看 复制代码
spam = 'I have a pet cat.'
spam = spam[:13] + 'r' + spam[14:]
print(spam)


  6、尝试连接非字符串值与字符串导致 “TypeError: Can't convert 'int' object to str implicitly”该错误发生在如下代码中:

[Python] 纯文本查看 复制代码
numEggs = 12
print('I have ' + numEggs + ' eggs.')


  而正确做法是:

[Python] 纯文本查看 复制代码
numEggs = 12
print('I have ' + str(numEggs) + ' eggs.')

numEggs = 12
print('I have %s eggs.' % (numEggs))


  7、在字符串首尾忘记加引号导致“SyntaxError: EOL while scanning string literal”该错误发生在如下代码中:

[Python] 纯文本查看 复制代码
print(Hello!')

print('Hello!)

myName = 'Al'
print('My name is ' + myName + . How are you?')


  8、变量或者函数名拼写错误导致“NameError: name 'fooba' is not defined”该错误发生在如下代码中:

[Python] 纯文本查看 复制代码
foobar = 'Al'
print('My name is ' + fooba)

spam = ruond(4.2)

spam = Round(4.2)


  9、方法名拼写错误导致 “AttributeError: 'str' object has no attribute 'lowerr'”该错误发生在如下代码中:

[Python] 纯文本查看 复制代码
spam = 'THIS IS IN LOWERCASE.'
spam = spam.lowerr()


  10、引用超过list最大索引导致“IndexError: list index out of range”该错误发生在如下代码中:

[Python] 纯文本查看 复制代码
spam = ['cat', 'dog', 'mouse']
print(spam[6])


  【免责声明】本文部分系转载,文章来源:开源最前线,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请在30日内与联系我们,我们会予以更改或删除相关文章,以保证您的权益!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

达内教育:成立于2002年。致力于面向IT互联网行业,培养软件开发工程师、测试工程师、系统管理员、智能硬件工程师、UI设计师、网络营销、会计等职场人才 达内使命:缔造年轻人的中国梦、缔造达内员工的中国梦 达内愿景:做管理一流的教育公司
  • 商务合作

  • 微信公众号

  • Powered by Discuz! X3.4 | Copyright © 2002-2021, 达内教育 Tedu.cn
  • 京ICP备08000853号-56 |网站地图 | 京公网安备 11010802029508号