ABCDEFG 发表于 2021-10-14 17:48:22

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

  1、忘记在if,for,def,elif,else,class等声明末尾加 :会导致“SyntaxError :invalid syntax”如下:

if spam == 42
print('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!')

  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)

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

spam = 'I have a pet cat.'
spam = 'r'
print(spam)

  而正确做法是:

spam = 'I have a pet cat.'
spam = spam[:13] + 'r' + spam
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)

  【免责声明】本文部分系转载,文章来源:开源最前线,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请在30日内与联系我们,我们会予以更改或删除相关文章,以保证您的权益!
页: [1]
查看完整版本: 新手必看,17个常见的Python运行错误