1. 程式人生 > 實用技巧 >Python基礎入門:常見的10個錯誤

Python基礎入門:常見的10個錯誤

本文的文字及圖片來源於網路,僅供學習、交流使用,不具有任何商業用途,版權歸原作者所有,如有問題請及時聯絡我們以作處理

以下文章來源於Python開發與大資料人工智慧

前言

對於剛入門的Pythoner在學習過程中執行程式碼是或多或少會遇到一些錯誤,剛開始可能看起來比較費勁。隨著程式碼量的積累,熟能生巧當遇到一些執行時錯誤時能夠很快的定位問題原題。下面整理了常見的17個錯誤,希望能夠幫助到大家

1、

忘記在if,for,def,elif,else,class等宣告末尾加:

會導致“SyntaxError :invalid syntax”如下:

ifspam ==42
 print('Hello!')

2、

使用= 而不是 ==

也會導致“SyntaxError: invalid syntax”

= 是賦值操作符而 == 是等於比較操作。該錯誤發生在如下程式碼中:

ifspam =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!')

或者:

ifspam ==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']
foriinrange(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])