python3 常見錯誤 一

2022-03-22 12:44:54 字數 944 閱讀 8217

以下全部是在python3中適用。

錯誤一:  函式預設引數

python允許為函式的引數提供預設的可選值。但是它可能會導致一些易變預設值的混亂。例子:

我們希望每次呼叫myfun函式,list1都為預設空列表,其實python並不會輸出我們想要的結果。

原因:python的函式引數的預設值只會在函式定義的地方使用一次,即myfun()首次定義的時候,當呼叫myfun()時(不指定bar引數時)將繼續使用myfun()原本已經初始化的引數。

錯誤二:  ==和is的區別

is :  判斷兩個物件是否為同一物件, 是通過id來判斷的; 當兩個基本型別資料(或元組)內容相同時, id會相同, 但並不代表a會隨b的改變而改變 。

== :   判斷兩個物件的內容是否相同, 是通過呼叫eq()來判斷的。

錯誤三:  列表賦值

t3 = t1:  這裡賦值的是指標,所以del t3 和del t1 是相同的概念。

t2 = t1[:] 這裡表示將t1從[0]到最後乙個元素全部賦值給t2。

錯誤四:  類繼承之變數賦值

類變數在內部當做字典來處理。

所以在上面的**中,由於c3中的var1變數沒有找到,它會向上找它的基類。換句話說,c3中沒有它自己的var1變數。因此,c3.var1事實上是c1.var1的引用。

c2中的var1被賦值,相當於給c2新建了個變數var1,通過檢視每個類的變數id可以看出。

python2轉python3常見錯誤

需要把一段py2的 轉為py3,執行後,遇到乙個錯誤就解決乙個錯誤,一般都會有替換方案。1.syntaxerror missing parentheses in call to print 所有 print x 更改為 print x 2.報錯 typeerror dict keys object ...

python3異常例項 Python3 錯誤和異常

錯誤和異常 程式執行時有兩種可以分辨的錯誤 syntax error 和 exception 按中文來說,就是語法錯誤和異常。語法錯誤 語法錯誤也就是解析錯誤,是我們最優可能遇到的錯誤。while true print hello world file line 1,in?while true pr...

Python3 錯誤型別記錄

1.syntaxerror return out side function 語法錯誤 return 不能在方法以外使用 解決辦法 將 return 放在方法體中使用 2.typeerror must be str not int 型別錯誤 必須是str 而不是int 解決辦法 使用 拼接的時候,必...