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