国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

Python新手入門最容易犯的錯誤總結

2020-02-23 04:35:42
字體:
來源:轉載
供稿:網(wǎng)友

前言

Python 以其簡單易懂的語法格式與其它語言形成鮮明對比,初學者遇到最多的問題就是不按照 Python 的規(guī)則來寫,即便是有編程經(jīng)驗的程序員,也容易按照固有的思維和語法格式來寫 Python 代碼,之前小編給大家分享過了一篇《Python新手們容易犯的幾個錯誤總結》,但總結的不夠全面,最近看到有一個外國小伙總結了一些大家常犯的錯誤,16 Common Python Runtime Errors Beginners Find,索性我把他翻譯過來并在原來的基礎補充了我的一些理解,希望可以讓你避開這些坑。

0、忘記寫冒號

在 if、elif、else、for、while、class、def 語句后面忘記添加 “:”

if spam == 42 print('Hello!')

導致:SyntaxError: invalid syntax

1、誤用 “=” 做等值比較

“=” 是賦值操作,而判斷兩個值是否相等是 “==”

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

導致:SyntaxError: invalid syntax

2、使用錯誤的縮進

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

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,“:” 后面要使用縮進

3、變量沒有定義

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

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

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

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

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)

5、修改字符串

字符串一個序列對象,支持用索引獲取元素,但它和列表對象不同,字符串是不可變對象,不支持修改。

spam = 'I have a pet cat.'spam[13] = 'r'print(spam)

導致:TypeError: 'str' object does not support item assignment 正確地做法應該是:

spam = 'I have a pet cat.'spam = spam[:13] + 'r' + spam[14:]print(spam)

6、字符串與非字符串連接

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 高州市| 津南区| SHOW| 定西市| 仁怀市| 浏阳市| 高唐县| 黄龙县| 开阳县| 西城区| 仁化县| 西贡区| 白沙| 丰台区| 宾川县| 榆林市| 城口县| 天祝| 海原县| 兰州市| 龙游县| 岐山县| 稷山县| 温泉县| 化州市| 黔东| 招远市| 聂拉木县| 淮滨县| 紫阳县| 隆德县| 黄平县| 双柏县| 纳雍县| 阳谷县| 北辰区| 济阳县| 巩留县| 扎鲁特旗| 桃园县| 桦川县|