【Python編程】BUG記錄與解決方法


在使用強制類型類型轉換 int(elem) 時報錯:

ValueError: cannot convert float NaN to integer

原因:Python 3.5 + 不能將 np.nan 強制轉換爲 int 類型
解決:判斷數據是否爲 nan,是則轉換爲 0,否則強轉爲 int

import math
# 加入if判斷
if math.isnan(elem):
	elem = 0
else
	elem = int(elem)

python: local variable 'xxx' referenced before assignment

原因:在使用變量 xxx 時還未定義,debug 了代碼發現自己的判斷語句有不成立的情況,導致未定義 xxx
解決:梳理一下自己的代碼,這句報錯字面意思就是用到該變量時還未給它進行定義,如果感覺自己的代碼邏輯沒問題,考慮是不是 全局變量和局部變量的問題。參考這個:原因2


TabError: inconsistent use of tabs and spaces in indentation

原因: 在代碼中混用了 tab 和空格,導致 IDE 分不清楚,傳統方式是找出報錯的地方進行修改,但是比較快捷的方法是 格式化代碼,以 PyCharm 爲例,可以在菜單欄的 Code 中使用 Reformat Code 對代碼進行格式化。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章