美文网首页
学习Python,避开这些低级错误,养成良好的编程习惯!

学习Python,避开这些低级错误,养成良好的编程习惯!

作者: 有用教育 | 来源:发表于2019-08-04 16:42 被阅读0次

    ​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!')

    或者:

    if spam == 42:

    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[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])

    相关文章

      网友评论

          本文标题:学习Python,避开这些低级错误,养成良好的编程习惯!

          本文链接:https://www.haomeiwen.com/subject/lreydctx.html