99999久久久久久亚洲,欧美人与禽猛交狂配,高清日韩av在线影院,一个人在线高清免费观看,啦啦啦在线视频免费观看www

熱線電話:13121318867

登錄
2020-09-02 閱讀量: 13135
學(xué)習(xí)Python函數(shù)時(shí)常見(jiàn)的報(bào)錯(cuò)類型

問(wèn)題:

學(xué)習(xí)Python函數(shù)時(shí)常見(jiàn)的報(bào)錯(cuò)類型有哪些?


答案

下面我們總結(jié)一些我們學(xué)習(xí)函數(shù)時(shí)常見(jiàn)的報(bào)錯(cuò)類型:

# 缺少英文括號(hào)后的英文冒號(hào)
def func1()
  print('Hello World')
# 報(bào)錯(cuò):SyntaxError: bad input on line 1
# (語(yǔ)法錯(cuò)誤:第 1 行輸入有問(wèn)題)

1,SyntaxError 的意思是“語(yǔ)法錯(cuò)誤”,而冒號(hào)后面的是語(yǔ)法錯(cuò)誤的細(xì)節(jié)。這個(gè)例子中的具體細(xì)節(jié)為 bad input,一般來(lái)說(shuō)就是你輸入的代碼不符合格式,可能多打或少打了一些必要的字母或者標(biāo)點(diǎn)。最后的 on line xxx 意思是在哪一行發(fā)現(xiàn)的錯(cuò)誤,這也有助于你直接去定位。

# 輸入了中文標(biāo)點(diǎn)(本例中輸入了中文冒號(hào))
def func2():
  print('Hello World')
#報(bào)錯(cuò):SyntaxError: invalid character in identifier
#(語(yǔ)法錯(cuò)誤:識(shí)別不了不支持的字符)

2,這里的語(yǔ)法錯(cuò)誤細(xì)節(jié)是 invalid character,也就是 Python 語(yǔ)法中不支持的字符。除字符串和注釋外,Python 語(yǔ)法里支持的字符是不支持漢字和中文標(biāo)點(diǎn)的。

這里的例子中輸入了中文的冒號(hào),Python 當(dāng)然識(shí)別不了啦。所以一定要注意,見(jiàn)到 invalid character 就要看看是不是把括號(hào)、冒號(hào)、引號(hào)等輸入錯(cuò)啦,平時(shí)寫(xiě)代碼時(shí),我們也要預(yù)先把輸入法調(diào)好。

# y = 2 縮進(jìn)錯(cuò)誤
def func3():
  x = 1
 y = 2
# 報(bào)錯(cuò):IndentationError: unindent does not match any outer indentation level
# (縮進(jìn)錯(cuò)誤:(y = 2 這一行)縮進(jìn)變小了,但是其它地方匹配不到和他一樣的縮進(jìn)層級(jí))

3,IndentationError 指“縮進(jìn)錯(cuò)誤”?!癷ndentation” 和“indent” 表示縮進(jìn),“unindent” 表示“減少或取消縮進(jìn)”。我們?cè)诘谖尻P(guān)中說(shuō)過(guò),Python 非常注重縮進(jìn)的層次,一旦確定了縮進(jìn)層次,后面就要統(tǒng)一。一開(kāi)始用兩個(gè)或者四個(gè)空格作為一個(gè)縮進(jìn),后面也需要一直保持一樣的標(biāo)準(zhǔn),否則機(jī)器就會(huì)識(shí)別錯(cuò)亂。

比如這個(gè)例子中,第 2 行 x = 1 用兩個(gè)空格表示一個(gè)縮進(jìn),但第 3 行 y = 2 中變成了一個(gè)空格縮進(jìn),發(fā)生了報(bào)錯(cuò)語(yǔ)句所說(shuō)的“unindent”,但在其它代碼行中,找不到同樣是 1 個(gè)空格表示縮進(jìn)的地方,所以報(bào)錯(cuò)了。

# 默認(rèn)參數(shù)應(yīng)該放在位置參數(shù)后
def func4(x, y = 1, z):
  print(x, y, z)
# 報(bào)錯(cuò):SyntaxError: non-default argument follows default argument
# (語(yǔ)法錯(cuò)誤:非默認(rèn)參數(shù)被放到了默認(rèn)參數(shù)后面)

4,這里的語(yǔ)法錯(cuò)誤細(xì)節(jié)中的關(guān)鍵詞是“argument”,意思是“參數(shù)”?!癲efault argument” 表示“默認(rèn)參數(shù)”。當(dāng)你看到“arguement”,就要去檢查函數(shù)定義過(guò)程中,參數(shù)有沒(méi)有出錯(cuò)啦。

# 全局作用域不能訪問(wèn)局部變量
def func5():
  x = 1print(x)
# 報(bào)錯(cuò):NameError: name 'x' is not defined
# (變量名錯(cuò)誤:變量名 'x' 沒(méi)有被定義)

5,這個(gè)例子我們?cè)诘诹P(guān)中說(shuō)過(guò)了,局部變量被函數(shù)這堵“圍墻”隔得嚴(yán)嚴(yán)實(shí)實(shí)。在函數(shù)外,不用 global 語(yǔ)句,是無(wú)法訪問(wèn)函數(shù)內(nèi)的局部變量的。

通過(guò)以上的代碼,你有沒(méi)有發(fā)現(xiàn),雖然這些代碼寫(xiě)的時(shí)候有錯(cuò),但我們也能讀懂寫(xiě)代碼的人要干什么,這就是人腦在綜合處理中比電腦強(qiáng)大得多的證明。

所以,還是一句話,報(bào)錯(cuò)的主要原因是機(jī)器太笨不會(huì)變通,我們要遷就它。我們可以閱讀報(bào)錯(cuò)的具體信息,回到出錯(cuò)代碼中對(duì)癥下藥、及時(shí)修改,讓函數(shù)正常運(yùn)行,達(dá)成程序員日常生活中不可或缺的 debug 成就。

同時(shí)我們也要留心報(bào)錯(cuò)的內(nèi)容,將報(bào)錯(cuò)信息復(fù)制下來(lái),在網(wǎng)上搜索并記住報(bào)錯(cuò)的具體所指,下次遇到類似的問(wèn)題也可以從容應(yīng)對(duì)。


33.5795
1
關(guān)注作者
收藏
評(píng)論(1)

發(fā)表評(píng)論
CDA持證人阿濤哥
2020-09-02

答案

下面我們總結(jié)一些我們學(xué)習(xí)函數(shù)時(shí)常見(jiàn)的報(bào)錯(cuò)類型:

# 缺少英文括號(hào)后的英文冒號(hào)
def func1()
print('Hello World')
# 報(bào)錯(cuò):SyntaxError: bad input on line 1
# (語(yǔ)法錯(cuò)誤:第 1 行輸入有問(wèn)題)

1,SyntaxError 的意思是“語(yǔ)法錯(cuò)誤”,而冒號(hào)后面的是語(yǔ)法錯(cuò)誤的細(xì)節(jié)。這個(gè)例子中的具體細(xì)節(jié)為 bad input,一般來(lái)說(shuō)就是你輸入的代碼不符合格式,可能多打或少打了一些必要的字母或者標(biāo)點(diǎn)。最后的 on line xxx 意思是在哪一行發(fā)現(xiàn)的錯(cuò)誤,這也有助于你直接去定位。

# 輸入了中文標(biāo)點(diǎn)(本例中輸入了中文冒號(hào))
def func2():
print('Hello World')
#報(bào)錯(cuò):SyntaxError: invalid character in identifier
#(語(yǔ)法錯(cuò)誤:識(shí)別不了不支持的字符)

2,這里的語(yǔ)法錯(cuò)誤細(xì)節(jié)是 invalid character,也就是 Python 語(yǔ)法中不支持的字符。除字符串和注釋外,Python 語(yǔ)法里支持的字符是不支持漢字和中文標(biāo)點(diǎn)的。

這里的例子中輸入了中文的冒號(hào),Python 當(dāng)然識(shí)別不了啦。所以一定要注意,見(jiàn)到 invalid character 就要看看是不是把括號(hào)、冒號(hào)、引號(hào)等輸入錯(cuò)啦,平時(shí)寫(xiě)代碼時(shí),我們也要預(yù)先把輸入法調(diào)好。

# y = 2 縮進(jìn)錯(cuò)誤
def func3():
x = 1
y = 2
# 報(bào)錯(cuò):IndentationError: unindent does not match any outer indentation level
# (縮進(jìn)錯(cuò)誤:(y = 2 這一行)縮進(jìn)變小了,但是其它地方匹配不到和他一樣的縮進(jìn)層級(jí))

3,IndentationError 指“縮進(jìn)錯(cuò)誤”。“indentation” 和“indent” 表示縮進(jìn),“unindent” 表示“減少或取消縮進(jìn)”。我們?cè)诘谖尻P(guān)中說(shuō)過(guò),Python 非常注重縮進(jìn)的層次,一旦確定了縮進(jìn)層次,后面就要統(tǒng)一。一開(kāi)始用兩個(gè)或者四個(gè)空格作為一個(gè)縮進(jìn),后面也需要一直保持一樣的標(biāo)準(zhǔn),否則機(jī)器就會(huì)識(shí)別錯(cuò)亂。

比如這個(gè)例子中,第 2 行 x = 1 用兩個(gè)空格表示一個(gè)縮進(jìn),但第 3 行 y = 2 中變成了一個(gè)空格縮進(jìn),發(fā)生了報(bào)錯(cuò)語(yǔ)句所說(shuō)的“unindent”,但在其它代碼行中,找不到同樣是 1 個(gè)空格表示縮進(jìn)的地方,所以報(bào)錯(cuò)了。

# 默認(rèn)參數(shù)應(yīng)該放在位置參數(shù)后
def func4(x, y = 1, z):
print(x, y, z)
# 報(bào)錯(cuò):SyntaxError: non-default argument follows default argument
# (語(yǔ)法錯(cuò)誤:非默認(rèn)參數(shù)被放到了默認(rèn)參數(shù)后面)

4,這里的語(yǔ)法錯(cuò)誤細(xì)節(jié)中的關(guān)鍵詞是“argument”,意思是“參數(shù)”。“default argument” 表示“默認(rèn)參數(shù)”。當(dāng)你看到“arguement”,就要去檢查函數(shù)定義過(guò)程中,參數(shù)有沒(méi)有出錯(cuò)啦。

# 全局作用域不能訪問(wèn)局部變量
def func5():
x = 1print(x)
# 報(bào)錯(cuò):NameError: name 'x' is not defined
# (變量名錯(cuò)誤:變量名 'x' 沒(méi)有被定義)

5,這個(gè)例子我們?cè)诘诹P(guān)中說(shuō)過(guò)了,局部變量被函數(shù)這堵“圍墻”隔得嚴(yán)嚴(yán)實(shí)實(shí)。在函數(shù)外,不用 global 語(yǔ)句,是無(wú)法訪問(wèn)函數(shù)內(nèi)的局部變量的。

通過(guò)以上的代碼,你有沒(méi)有發(fā)現(xiàn),雖然這些代碼寫(xiě)的時(shí)候有錯(cuò),但我們也能讀懂寫(xiě)代碼的人要干什么,這就是人腦在綜合處理中比電腦強(qiáng)大得多的證明。

所以,還是一句話,報(bào)錯(cuò)的主要原因是機(jī)器太笨不會(huì)變通,我們要遷就它。我們可以閱讀報(bào)錯(cuò)的具體信息,回到出錯(cuò)代碼中對(duì)癥下藥、及時(shí)修改,讓函數(shù)正常運(yùn)行,達(dá)成程序員日常生活中不可或缺的 debug 成就。

同時(shí)我們也要留心報(bào)錯(cuò)的內(nèi)容,將報(bào)錯(cuò)信息復(fù)制下來(lái),在網(wǎng)上搜索并記住報(bào)錯(cuò)的具體所指,下次遇到類似的問(wèn)題也可以從容應(yīng)對(duì)。



0.0000 0 0 回復(fù)
CDA持證人阿濤哥
2020-09-02

答案

下面我們總結(jié)一些我們學(xué)習(xí)函數(shù)時(shí)常見(jiàn)的報(bào)錯(cuò)類型:

# 缺少英文括號(hào)后的英文冒號(hào)
def func1()
  print('Hello World')
# 報(bào)錯(cuò):SyntaxError: bad input on line 1
# (語(yǔ)法錯(cuò)誤:第 1 行輸入有問(wèn)題)

1,SyntaxError 的意思是“語(yǔ)法錯(cuò)誤”,而冒號(hào)后面的是語(yǔ)法錯(cuò)誤的細(xì)節(jié)。這個(gè)例子中的具體細(xì)節(jié)為 bad input,一般來(lái)說(shuō)就是你輸入的代碼不符合格式,可能多打或少打了一些必要的字母或者標(biāo)點(diǎn)。最后的 on line xxx 意思是在哪一行發(fā)現(xiàn)的錯(cuò)誤,這也有助于你直接去定位。

# 輸入了中文標(biāo)點(diǎn)(本例中輸入了中文冒號(hào))
def func2():
  print('Hello World')
#報(bào)錯(cuò):SyntaxError: invalid character in identifier
#(語(yǔ)法錯(cuò)誤:識(shí)別不了不支持的字符)

2,這里的語(yǔ)法錯(cuò)誤細(xì)節(jié)是 invalid character,也就是 Python 語(yǔ)法中不支持的字符。除字符串和注釋外,Python 語(yǔ)法里支持的字符是不支持漢字和中文標(biāo)點(diǎn)的。

這里的例子中輸入了中文的冒號(hào),Python 當(dāng)然識(shí)別不了啦。所以一定要注意,見(jiàn)到 invalid character 就要看看是不是把括號(hào)、冒號(hào)、引號(hào)等輸入錯(cuò)啦,平時(shí)寫(xiě)代碼時(shí),我們也要預(yù)先把輸入法調(diào)好。

# y = 2 縮進(jìn)錯(cuò)誤
def func3():
  x = 1
 y = 2
# 報(bào)錯(cuò):IndentationError: unindent does not match any outer indentation level
# (縮進(jìn)錯(cuò)誤:(y = 2 這一行)縮進(jìn)變小了,但是其它地方匹配不到和他一樣的縮進(jìn)層級(jí))

3,IndentationError 指“縮進(jìn)錯(cuò)誤”?!癷ndentation” 和“indent” 表示縮進(jìn),“unindent” 表示“減少或取消縮進(jìn)”。我們?cè)诘谖尻P(guān)中說(shuō)過(guò),Python 非常注重縮進(jìn)的層次,一旦確定了縮進(jìn)層次,后面就要統(tǒng)一。一開(kāi)始用兩個(gè)或者四個(gè)空格作為一個(gè)縮進(jìn),后面也需要一直保持一樣的標(biāo)準(zhǔn),否則機(jī)器就會(huì)識(shí)別錯(cuò)亂。

比如這個(gè)例子中,第 2 行 x = 1 用兩個(gè)空格表示一個(gè)縮進(jìn),但第 3 行 y = 2 中變成了一個(gè)空格縮進(jìn),發(fā)生了報(bào)錯(cuò)語(yǔ)句所說(shuō)的“unindent”,但在其它代碼行中,找不到同樣是 1 個(gè)空格表示縮進(jìn)的地方,所以報(bào)錯(cuò)了。

# 默認(rèn)參數(shù)應(yīng)該放在位置參數(shù)后
def func4(x, y = 1, z):
  print(x, y, z)
# 報(bào)錯(cuò):SyntaxError: non-default argument follows default argument
# (語(yǔ)法錯(cuò)誤:非默認(rèn)參數(shù)被放到了默認(rèn)參數(shù)后面)

4,這里的語(yǔ)法錯(cuò)誤細(xì)節(jié)中的關(guān)鍵詞是“argument”,意思是“參數(shù)”?!癲efault argument” 表示“默認(rèn)參數(shù)”。當(dāng)你看到“arguement”,就要去檢查函數(shù)定義過(guò)程中,參數(shù)有沒(méi)有出錯(cuò)啦。

# 全局作用域不能訪問(wèn)局部變量
def func5():
  x = 1print(x)
# 報(bào)錯(cuò):NameError: name 'x' is not defined
# (變量名錯(cuò)誤:變量名 'x' 沒(méi)有被定義)

5,這個(gè)例子我們?cè)诘诹P(guān)中說(shuō)過(guò)了,局部變量被函數(shù)這堵“圍墻”隔得嚴(yán)嚴(yán)實(shí)實(shí)。在函數(shù)外,不用 global 語(yǔ)句,是無(wú)法訪問(wèn)函數(shù)內(nèi)的局部變量的。

通過(guò)以上的代碼,你有沒(méi)有發(fā)現(xiàn),雖然這些代碼寫(xiě)的時(shí)候有錯(cuò),但我們也能讀懂寫(xiě)代碼的人要干什么,這就是人腦在綜合處理中比電腦強(qiáng)大得多的證明。

所以,還是一句話,報(bào)錯(cuò)的主要原因是機(jī)器太笨不會(huì)變通,我們要遷就它。我們可以閱讀報(bào)錯(cuò)的具體信息,回到出錯(cuò)代碼中對(duì)癥下藥、及時(shí)修改,讓函數(shù)正常運(yùn)行,達(dá)成程序員日常生活中不可或缺的 debug 成就。

同時(shí)我們也要留心報(bào)錯(cuò)的內(nèi)容,將報(bào)錯(cuò)信息復(fù)制下來(lái),在網(wǎng)上搜索并記住報(bào)錯(cuò)的具體所指,下次遇到類似的問(wèn)題也可以從容應(yīng)對(duì)。



32.2574 1 0 回復(fù)