欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python報(bào)錯(cuò)too?many?values?to?unpack問(wèn)題及解決

 更新時(shí)間:2023年05月08日 08:52:29   作者:leap_ruo  
這篇文章主要介紹了Python報(bào)錯(cuò)too?many?values?to?unpack問(wèn)題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

Python報(bào)錯(cuò)too many values to unpack

對(duì)于too many values to unpack這個(gè)錯(cuò)誤,英語(yǔ)學(xué)渣以為是在傳參時(shí)參數(shù)太大,所以一開(kāi)始方向就錯(cuò)了,導(dǎo)致大量時(shí)間浪費(fèi)在參數(shù)大小調(diào)整上…

一步一步debug時(shí)才發(fā)現(xiàn)原來(lái)是將一個(gè)包含3個(gè)keydict中間變量賦值給了一個(gè)2個(gè)元素list

大致意思如下:

# 錯(cuò)誤代碼
tmp_d = {'a': 2, 'b':3, 'c':4}
var_a, var_b = tmp_d
# 需要注意的是,以下代碼是正確的
tmp_d = {'a': 2, 'b':3}
var_a, var_b = tmp_d

其實(shí)問(wèn)題只要發(fā)現(xiàn)就很好解決,重點(diǎn)還是方向得對(duì),為了我浪費(fèi)的一上午,特此mark下。

Python常見(jiàn)報(bào)錯(cuò)及解決方案,BUG拯救指南

如果說(shuō)寫(xiě)代碼最害怕什么,那無(wú)疑是Bug。而對(duì)于新手來(lái)說(shuō),剛剛接觸編程,在享受寫(xiě)代碼的成就感時(shí),往往也會(huì)被各式各樣的Bug弄得暈頭轉(zhuǎn)向。

1.縮進(jìn)錯(cuò)誤(IndentationError)

在Python中,所有代碼都是通過(guò)正確的空格排列的。所以,無(wú)論是多出來(lái)空格,還是缺少空格,整個(gè)代碼都不會(huì)運(yùn)行,并且僅返回一個(gè)錯(cuò)誤函數(shù)。

Python代碼遵循PEP8空白規(guī)范,每一級(jí)縮進(jìn)使用4個(gè)空格。

錯(cuò)誤示例

a=1
b=2
if a<b:
print a

修正

a=1
b=2
if a<b:
? ? print a

2.Tab 和空格混用(TabError)

此類(lèi)報(bào)錯(cuò)是由于同時(shí)使用制表符和空格進(jìn)行編碼導(dǎo)致的,tab鍵本質(zhì)上是制表符,而非縮進(jìn)符。由于不同文本編輯器中制表符代表的空格寬度不一,建議使用空格。

3.語(yǔ)法錯(cuò)誤(SyntaxError)

語(yǔ)法錯(cuò)誤的原因包含下列三種:

1.無(wú)效語(yǔ)法(invalid syntax)

標(biāo)點(diǎn)符號(hào)遺漏,中英文符號(hào)混用,拼寫(xiě)錯(cuò)誤,變量名或者函數(shù)名使用了關(guān)鍵字。

2.標(biāo)識(shí)符中有無(wú)效字符(invalid character in identifier)

代碼中出現(xiàn)了無(wú)法識(shí)別的字符,檢查一下是否有多余字符或者中文字符。

3.檢查到不完整的字符串(EOL while scanning string litera)

很多情況下是由于字符串兩邊的引號(hào)不統(tǒng)一。

錯(cuò)誤示例

print( 'hello', 'world')

錯(cuò)誤原因:逗號(hào)為中文逗號(hào)

報(bào)錯(cuò)信息:SyntaxError: invalid character inidentifier

result = (1024+(512*2)/128

錯(cuò)誤原因:圓括號(hào)沒(méi)有成對(duì)出現(xiàn)

報(bào)錯(cuò)信息:SyntaxError:unexpected EOF whileparsing

if name =="A"
print("hello")

錯(cuò)誤原因:忘記在if/elif/else/while/for/def/class等語(yǔ)句末尾添加冒號(hào)

報(bào)錯(cuò)信息:SyntaxError:invalid syntax

3.變量名錯(cuò)誤(NameErro)

變量名錯(cuò)誤是最普通也是最常會(huì)遇到的內(nèi)建報(bào)錯(cuò)類(lèi)型,經(jīng)常會(huì)出現(xiàn)在Python變量命名上,如果找不到變量就會(huì)引發(fā)NameError。關(guān)于變量名的規(guī)則,需要牢記以下幾條:

  • 變量名只能包含字母、數(shù)字和下劃線,不可用數(shù)字開(kāi)頭;
  • 變量名不能包含空格,但可使用下劃線來(lái)分隔其中的單詞;
  • 不要將Python關(guān)鍵字和函數(shù)名用作變量名,如print;
  • 變量名應(yīng)既簡(jiǎn)短又具有描述性;
  • 慎用小寫(xiě)字母l和大寫(xiě)字母O,因?yàn)槿菀妆诲e(cuò)看成數(shù)字1和0。

出現(xiàn)變量名錯(cuò)誤,可以查看變量是否賦值,是否存在大小寫(xiě)不統(tǒng)一或者變量名寫(xiě)錯(cuò)了的情況,找到后加以修正。

錯(cuò)誤示例

message = "Hello!"
print(mesage)?

錯(cuò)誤原因:變量名拼寫(xiě)錯(cuò)誤,誤將massage拼寫(xiě)為masge

報(bào)錯(cuò)信息:NameError: name 'mesage' is not defined

5.索引錯(cuò)誤(IndexError)

索引是項(xiàng)目在數(shù)組或列表中的位置,當(dāng)我們嘗試從列表中訪問(wèn)元素或從列表中不存在的索引中訪問(wèn)元組時(shí),就會(huì)發(fā)生這種異常。

例如,有一個(gè)包含10個(gè)元素的列表,索引在0到9之間,如果試圖訪問(wèn)索引10或11或更多的元素,就會(huì)產(chǎn)生IndexError。

錯(cuò)誤示例

a = [1,2,3]
print(a[3])

錯(cuò)誤原因:列表a中不存在第4個(gè)索引,列表的索引從0開(kāi)始編號(hào)

報(bào)錯(cuò)信息:IndexError: string index out of range

6.鍵錯(cuò)誤(KeyError)

在讀取字典中的key和value時(shí),如 果key不存在,就會(huì)觸發(fā)KeyError錯(cuò)誤。

錯(cuò)誤示例

d = {'a':1,'b':2}
print(d['f'])

錯(cuò)誤原因:鍵‘f’不存在

報(bào)錯(cuò)信息:KeyError: 'f'

7.類(lèi)型錯(cuò)誤(TypeError)

在程序中使用不正確或不受支持的對(duì)象類(lèi)型時(shí),會(huì)引發(fā)該錯(cuò)誤。如果嘗試調(diào)用不可調(diào)用的對(duì)象或通過(guò)非迭代標(biāo)識(shí)符進(jìn)行迭代,也會(huì)引發(fā)此錯(cuò)誤。

錯(cuò)誤示例

age=18
print("我的年齡是"+age)

錯(cuò)誤原因:在使用“+”做拼接的時(shí)候,必須使用字符串,或者 把數(shù)字用str()函數(shù)轉(zhuǎn)化成字符串

報(bào)錯(cuò)信息:TypeError:can only concatenate str(not"int")to str

8.屬性錯(cuò)誤(AttributeError)

特性引用和賦值失敗時(shí)會(huì)引發(fā)屬性錯(cuò)誤。

此類(lèi)錯(cuò)誤的原因是嘗試訪問(wèn)未知的對(duì)象屬性,換句話(huà)說(shuō)就是找不到對(duì)應(yīng)對(duì)象的屬性??梢詸z查類(lèi)中構(gòu)造函數(shù)__init__()是否寫(xiě)正確,左右兩邊各兩條下劃線。

對(duì)于初學(xué)的小伙伴來(lái)說(shuō),代碼經(jīng)常出現(xiàn)Bug并不代表著你學(xué)得不好。若是將一個(gè)個(gè)Bug看作游戲里小怪,那么消滅Bug的過(guò)程又何嘗不是升級(jí)的過(guò)程呢?

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • python字符串判斷密碼強(qiáng)弱

    python字符串判斷密碼強(qiáng)弱

    這篇文章主要為大家詳細(xì)介紹了python字符串判斷密碼強(qiáng)弱,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-03-03
  • Python?Selenium彈窗處理操作指南

    Python?Selenium彈窗處理操作指南

    我們做項(xiàng)目經(jīng)常會(huì)遇到彈出框,下面這篇文章主要給大家介紹了關(guān)于Python?Selenium彈窗處理的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-06-06
  • python中矩陣合并、拼接、組合的實(shí)現(xiàn)示例

    python中矩陣合并、拼接、組合的實(shí)現(xiàn)示例

    本文主要介紹了python中矩陣合并、拼接、組合的實(shí)現(xiàn)示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-07-07
  • 解決pip install 卡住不動(dòng)的問(wèn)題

    解決pip install 卡住不動(dòng)的問(wèn)題

    這篇文章主要介紹了解決pip install 卡住不動(dòng)的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2021-03-03
  • Python2中文處理紀(jì)要的實(shí)現(xiàn)方法

    Python2中文處理紀(jì)要的實(shí)現(xiàn)方法

    本篇文章主要介紹了Python2中文處理紀(jì)要的實(shí)現(xiàn)方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-03-03
  • python判斷給定的字符串是否是有效日期的方法

    python判斷給定的字符串是否是有效日期的方法

    這篇文章主要介紹了python判斷給定的字符串是否是有效日期的方法,涉及Python針對(duì)字符串與日期操作的相關(guān)技巧,需要的朋友可以參考下
    2015-05-05
  • tensorflow1.0學(xué)習(xí)之模型的保存與恢復(fù)(Saver)

    tensorflow1.0學(xué)習(xí)之模型的保存與恢復(fù)(Saver)

    這篇文章主要介紹了tensorflow1.0學(xué)習(xí)之模型的保存與恢復(fù)(Saver) ,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-04-04
  • python機(jī)器學(xué)習(xí)GCN圖卷積神經(jīng)網(wǎng)絡(luò)原理解析

    python機(jī)器學(xué)習(xí)GCN圖卷積神經(jīng)網(wǎng)絡(luò)原理解析

    這篇文章主要為大家介紹了GCN圖卷積神經(jīng)網(wǎng)絡(luò)原理及代碼解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-05-05
  • 深入了解Django中間件及其方法

    深入了解Django中間件及其方法

    這篇文章主要介紹了簡(jiǎn)單了解Django中間件及其方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-07-07
  • Python測(cè)試框架:pytest學(xué)習(xí)筆記

    Python測(cè)試框架:pytest學(xué)習(xí)筆記

    這篇文章主要介紹了Python測(cè)試框架:pytest的相關(guān)資料,幫助大家更好的利用python進(jìn)行單元測(cè)試,感興趣的朋友可以了解下
    2020-10-10

最新評(píng)論