国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術文章
文章詳情頁

python中常見錯誤及解決方法

瀏覽:26日期:2022-07-20 09:47:44

python常見的錯誤有

1.NameError變量名錯誤

2.IndentationError代碼縮進錯誤

3.AttributeError對象屬性錯誤

詳細講解

1.NameError變量名錯誤

報錯:

>>> print a<br>Traceback (most recent call last):<br>File '<stdin>', line 1, in <module><br>NameError: name ’a’ is not defined<br>

解決方案:

先要給a賦值。才能使用它。在實際編寫代碼過程中,報NameError錯誤時,查看該變量是否賦值,或者是否有大小寫不一致錯誤,或者說不小心將變量名寫錯了。

注:在Python中,無需顯示變量聲明語句,變量在第一次被賦值時自動聲明。

>>> a=1<br>>>> print a<br>1<br>

2.IndentationError代碼縮進錯誤

代碼

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

報錯:

IndentationError: expected an indented block<br>

原因:

縮進有誤,python的縮進非常嚴格,行首多個空格,少個空格都會報錯。這是新手常犯的一個錯誤,由于不熟悉python編碼規則。像def,class,if,for,while等代碼塊都需要縮進。

縮進為四個空格寬度,需要說明一點,不同的文本編輯器中制表符(tab鍵)代表的空格寬度不一,如果代碼需要跨平臺或跨編輯器讀寫,建議不要使用制表符。

解決方案

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

3.AttributeError對象屬性錯誤

報錯:

>>> import sys<br>>>> sys.Path<br>Traceback (most recent call last):<br>File '<stdin>', line 1, in <module><br>AttributeError: ’module’ object has no attribute ’Path’<br>

原因:

sys模塊沒有Path屬性。

python對大小寫敏感,Path和path代表不同的變量。將Path改為path即可。

>>> sys.path<br>[’’, ’/usr/lib/python2.6/site-packages’]<br>

初學者遇到的錯誤實例:

使用錯誤的縮進

Python用縮進區分代碼塊,常見的錯誤用法:

print(’Hello!’)print(’Howdy!’)

導致:IndentationError: unexpected indent。同一個代碼塊中的每行代碼都必須保持一致的縮進量

if spam == 42:print(’Hello!’)print(’Howdy!’)

導致:IndentationError: unindent does not match any outer indentation level。代碼塊結束之后縮進恢復到原來的位置

if spam == 42:print(’Hello!’)

導致:IndentationError: expected an indented block,“:” 后面要使用縮進

變量沒有定義

if spam == 42:print(’Hello!’)

導致:NameError: name ’spam’ is not defined

獲取列表元素索引位置忘記調用 len 方法

通過索引位置獲取元素的時候,忘記使用 len 函數獲取列表的長度。

spam = [’cat’, ’dog’, ’mouse’]for i in range(spam):print(spam[i])

導致:TypeError: range() integer end argument expected, got list. 正確的做法是:

spam = [’cat’, ’dog’, ’mouse’]for i in range(len(spam)):print(spam[i])

當然,更 Pythonic 的寫法是用 enumerate

spam = [’cat’, ’dog’, ’mouse’]for i, item in enumerate(spam):print(i, item)

函數中局部變量賦值前被使用

someVar = 42def myFunction():print(someVar)someVar = 100myFunction()

導致:UnboundLocalError: local variable ’someVar’ referenced before assignment

當函數中有一個與全局作用域中同名的變量時,它會按照 LEGB 的順序查找該變量,如果在函數內部的局部作用域中也定義了一個同名的變量,那么就不再到外部作用域查找了。因此,在 myFunction 函數中 someVar 被定義了,所以 print(someVar) 就不再外面查找了,但是 print 的時候該變量還沒賦值,所以出現了 UnboundLocalError

以上就是python中常見錯誤及解決方法的詳細內容,更多關于python常見錯誤有哪些的資料請關注好吧啦網其它相關文章!

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 香蕉成人在线视频 | 日本精品在线观看 | 国产精品亚洲欧美日韩一区在线 | 欧美一级成人影院免费的 | 特级毛片www欧美 | 日韩国产精品99久久久久久 | 国产末成年女噜噜片 | 国产高清在线精品 | 国产精品美女一级在线观看 | 国产一区二区三区四区五区 | 在线观看香蕉免费啪在线观看 | 亚洲作爱视频 | 国产成人毛片毛片久久网 | 免费手机黄色网址 | 免费欧洲毛片a级视频无风险 | 国产性夜夜春夜夜爽30 | 久久视频精品36线视频在线观看 | 国产一区二区久久久 | 福利一区三区 | 中国老太性色xxxxxhd | 男女男精品视频免费观看 | 亚洲视频在线观看网站 | 一本一本久久a久久精品综合麻豆 | 男人精品一线视频在线观看 | 三级黄色免费网站 | 欧美一级毛片无遮无挡 | 日韩高清在线播放不卡 | 91最新91精品91蝌蚪 | 在线观看一区二区三区四区 | 欧美大片无尺码在线观看 | 欧美成人www在线观看网页 | 老司机午夜在线视频免费观 | 日本三级一区二区三区 | 玖玖色视频 | 国产精品免费观看视频播放 | 日韩精品在线播放 | www.日本在线观看 | 日韩中文字幕一在线 | 国产韩国精品一区二区三区久久 | 欧美一级毛片免费网站 | 国产精品吹潮在线播放 |