我用Python 2018-08-09 16:42:32 Python 以其簡單易懂的語法格式與其它語言形成鮮明對(duì)比,,初學(xué)者遇到最多的問題就是不按照 Python 的規(guī)則來寫 即便是有編程經(jīng)驗(yàn)的程序員,,也容易按照固有的思維和語法格式來寫 Python 代碼 希望可以讓你避開這些坑 本章福利:私信回復(fù)【01】有Python入門基礎(chǔ)視頻教程 1.忘記寫冒號(hào)在 if、elif,、else,、for、while,、class,、def 語句后面忘記添加 “:”
2.誤用 “=” 做等值比較“=” 是賦值操作,,而判斷兩個(gè)值是否相等是 “==”
3.使用錯(cuò)誤的縮進(jìn)Python用縮進(jìn)區(qū)分代碼塊 常見的錯(cuò)誤用法:
同一個(gè)代碼塊中的每行代碼都必須保持一致的縮進(jìn)量
代碼塊結(jié)束之后縮進(jìn)恢復(fù)到原來的位置
“:” 后面要使用縮進(jìn) 4.變量沒有定義
5.獲取列表元素索引位置忘記調(diào)用 len 方法通過索引位置獲取元素的時(shí)候 忘記使用 len 函數(shù)獲取列表的長度,。
正確的做法是: 當(dāng)然,,更 Pythonic 的寫法是用 enumerate 6.修改字符串字符串一個(gè)序列對(duì)象,支持用索引獲取元素 但它和列表對(duì)象不同,,字符串是不可變對(duì)象,,不支持修改。
正確地做法應(yīng)該是: 7.字符串與非字符串連接
字符串與非字符串連接時(shí) 必須把非字符串對(duì)象強(qiáng)制轉(zhuǎn)換為字符串類型 或者使用字符串的格式化形式 8.使用錯(cuò)誤的索引位置
列表對(duì)象的索引是從0開始的 第3個(gè)元素應(yīng)該是使用 spam[2] 訪問 9.字典中使用不存在的鍵在字典對(duì)象中訪問 key 可以使用 [], 但是如果該 key 不存在
正確的方式應(yīng)該使用 get 方法: key 不存在時(shí),get 默認(rèn)返回 None 10.用關(guān)鍵字做變量名
在 Python 中不允許使用關(guān)鍵字作為變量名。 Python3 一共有33個(gè)關(guān)鍵字,。 11.函數(shù)中局部變量賦值前被使用
當(dāng)函數(shù)中有一個(gè)與全局作用域中同名的變量時(shí) 它會(huì)按照 LEGB 的順序查找該變量,如果在函數(shù)內(nèi)部的局部作用域中也定義了一個(gè)同名的變量,,那么就不再到外部作用域查找了,。 因此,在 myFunction 函數(shù)中 someVar 被定義了,,所以 print(someVar) 就不再外面查找了,,但是 print 的時(shí)候該變量還沒賦值,所以出現(xiàn)了 UnboundLocalError 12.使用自增 “++” 自減 “--”哈哈,Python 中沒有自增自減操作符 如果你是從C,、Java轉(zhuǎn)過來的話,,你可要注意了。 你可以使用 “+=” 來替代 “++” 13.錯(cuò)誤地調(diào)用類中的方法
method1 是 Foo 類的一個(gè)成員方法 該方法不接受任何參數(shù),,調(diào)用 a.method1() 相當(dāng)于調(diào)用 Foo.method1(a),但 method1 不接受任何參數(shù),,所以報(bào)錯(cuò)了,。 正確的調(diào)用方式應(yīng)該是 Foo.method1() 注意:
歡迎留言討論! |
|