點擊頭像看歷史
Python https://www.python.org/
Python簡單、易學的語法可能會誤導一些Python程序員
特別是那些剛接觸這門語言的人們
可能會忽略某些細微之處和這門語言的強大之處
新手收藏如果高手沒犯錯全當查漏補缺
1在函數參數中亂用表達式作為默認值
答案是
一個函數參數的默認值,僅僅在該函數定義的時候,被賦值一次
如此
只有當函數foo第一次被定義的時候,才講參數bar的默認值初始化到它的默認值(即一個空的列表)。
當調用foo的時候(不給參數bar),會繼續使用bar最早初始化時的那個列表
2錯誤使用類變數
看看有問題沒
3在異常處理時錯誤的使用參數
4誤解Python作用域的規則
https://docs.python.org/2/faq/programming.html#why-am-i-getting-an-unboundlocalerror-when-the-variable-has-a-value
再看
5在遍歷列表的同時又在修改這個列表
7循環載入模塊
有兩個文件
a.py和b.py,在這兩個文件中互相載入對方
恭喜你又錯了
這裡問題出在載入b.py的過程中,Python試圖載入a.py,並且在a.py中需要調用到f,而函數f又要訪問到b.x,但是這個時候b.x卻還沒有被定義。這就產生了AttributeError異常
8與Python標準庫模塊命名衝突
9不能區分Python 2和Python 3
看這個文件foo.py
10錯誤的使用__del__方法
為什麼?
當解釋器關閉時,模塊所有的全局變數會被置為空(None)。結果便如上例所示,當__del__被調用時,名字foo已經被置為空了。
修改
學習過程中遇到什麼問題或者想獲取學習資源的話,歡迎加入學習交流群
626062078,我們一起學Python!