數(shù)據(jù)類型判斷
在python(版本3.0以上)使用變量,并進(jìn)行值比較時(shí)。有時(shí)候會(huì)出現(xiàn)以下錯(cuò)誤:
TypeError: unorderable types: NoneType() < int()
或者類似的類型錯(cuò)誤。
這是因?yàn)橐环阶兞康臄?shù)據(jù)類型不明(python無(wú)法判斷),所以出錯(cuò)。
在一般情況下,可以提前對(duì)要使用的變量進(jìn)行定義并賦值,例如:
var=' ' 或者 var=0
等等。
但是,若變量在比較前,是通過(guò)調(diào)用函數(shù)或者其他表達(dá)式賦值的,以上方法可能行不通,因?yàn)槿绻{(diào)用的函數(shù)如果存在錯(cuò)誤或者沒(méi)有輸出或者輸出類型不對(duì),都會(huì)出現(xiàn)類型錯(cuò)誤。
所以可以在比較之前進(jìn)行變量的類型判斷,格式:
import types
type(x) is types.IntType
或者
type(x) is types.StringType
以上是判斷變量的數(shù)據(jù)類型是整形還是字符串類型。使用判斷語(yǔ)句,如果數(shù)據(jù)類型正確,則進(jìn)行變量比較。
if type(x) is types.IntType:
var1
建議出現(xiàn)此錯(cuò)誤時(shí),先查看自己的程序的每一步是否出錯(cuò)。
列表腳本操作
列表對(duì) + 和 * 的操作符與字符串相似。+ 號(hào)用于組合列表,* 號(hào)用于重復(fù)列表。
對(duì)于組合操作,還可以進(jìn)行以下操作得到:
a=[]
b=[1,2,3,4,5,6,7,8,9,0]
a.append(b[i:j]+b[j+1:k]+[b[k+1]-m])
如下實(shí)例
在這個(gè)程序中加號(hào)+兩邊任然是列表類型數(shù)據(jù),所以是組合操作。
而以下操作中,加號(hào)+前一個(gè)是列表,后一個(gè)是單一的數(shù),類型不一致,所以出錯(cuò)。
對(duì)于單一的數(shù)值,可以通過(guò)添加 [ ] 使其變?yōu)榱斜眍愋停?[a[2]]。
對(duì)于字符串的操作與以上是一樣的。
這種操作可以用在循環(huán)中,作為動(dòng)態(tài)數(shù)存儲(chǔ)于讀取使用。
注意
以下的操作以以上的操作不一樣,以下操作是對(duì)數(shù)的加法運(yùn)算。
a.append(b[i]+b[j])
以上這篇淺談Python數(shù)據(jù)類型判斷及列表腳本操作就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元
