Python exception msg: must be str, not int

starzodiac
Dec 29, 2020

--

今天 debug 犯了一個大錯,本來只是想 print() 執行過程,結果最近寫太多 JavaScript,我使用以下寫法:

print("len: " + sys.getsizeof(tmp_l))

結果出現 exception(註):

must be str, not int

我一開始還以為是 iterator 或是 generator 的關係才不能執行,結果搞半天才發現是 python 的 + 不會直接做 overloading str+str(int),所以還是要乖乖寫成:

print("len: ", sys.getsizeof(tmp_l))
or
print("len: {}".format(sys.getsizeof(tmp_l)))
  • 註: exp 的 msg 好像會隨著 interpreter 而改變,因為上述是我用 Jupyter 印出來的結果,我用 windows 的環境 ([MSC v.1916]) 會出現以下錯誤資訊:
can only concatenate str (not "int") to str

--

--

No responses yet