在python(版本3.0以上)使用變數,並進行值比較時。有時候會出現以下錯誤:
typeerror: unorderable types: nonetype() < int()
或者類似的型別錯誤。
這是因為一方變數的資料型別不明(python無法判斷),所以出錯。
在一般情況下,可以提前對要使用的變數進行定義並賦值,例如:
var=' ' 或者 var=0
等等。
但是,若變數在比較前,是通過呼叫函式或者其他表示式賦值的,以上方法可能行不通,因為如果呼叫的函式如果存在錯誤或者沒有輸出或者輸出型別不對,都會出現型別錯誤。
所以可以在比較之前進行變數的型別判斷,格式:
import types
type
(x) is types.inttype
或者type
(x) is types.stringtype
以上是判斷變數的資料型別是整形還是字串型別。使用判斷語句,如果資料型別正確,則進行變數比較。
if
type(x) is types.inttype:
var1建議出現此錯誤時,先檢視自己的程式的每一步是否出錯。
列表對 + 和 * 的操作符與字串相似。+ 號用於組合列表,* 號用於重複列表。
對於組合操作,還可以進行以下操作得到:
a=b=[1,2,3,4,5,6,7,8,9,0]
如下例項
在這個程式中加號+兩邊任然是列表型別資料,所以是組合操作。
而以下操作中,加號+前乙個是列表,後乙個是單一的數,型別不一致,所以出錯。
對於單一的數值,可以通過新增[ ]使其變為列表型別,即 [a[2]]。
對於字串的操作與以上是一樣的。
這種操作可以用在迴圈中,作為動態數儲存於讀取使用。
注意
以下的操作以以上的操作不一樣,以下操作是對數的加法運算。
Python資料型別判斷及列表指令碼操作
在python 版本3.0以上 使用變數,並進行值比較時。有時候會出現以下錯誤 typeerror unorderable types nonetype int 或者類似的型別錯誤。這是因為一方變數的資料型別不明 python無法判斷 所以出錯。在一般情況下,可以提前對要使用的變數進行定義並賦值,例...
js資料型別及判斷資料型別
1.null 2.undefined 3.boolean 4.number 5.string 6.引用型別 object array function 7.symbol typeof null object typeof undefined undefined typeof true false b...
Python資料型別 列表型別
res list hello 能被for迴圈的型別均可作list型別轉換,字串,列表,字典l 11,22,33 print l 1 l 0 44 print l l 11,22,33,44,55 res l 0 4 2 l 頭 尾 步長 顧頭不顧尾,不是改原值,是產生新值 res1 l 複製原列表l...