Python檢測一個對象是否為字符串類的方法
目的
測試一個對象是否是字符串
方法
Python的字符串的基類是basestring,包括了str和unicode類型。一般可以采用以下方法:
def isAString(anobj):
return isinstance(anobj,basestring)
不過以上方法對于UserString類的實例,無能無力。
In [30]: b=UserString.UserString('abc')
In [31]: isAString(b)
Out[31]: False
In [32]: type(b)
Out[32]: <class 'UserString.UserString'>
Python中常用的鴨子判斷法:如果它走路像鴨子,叫聲像鴨子,就可以認(rèn)為它是鴨子了。
def isStringLike(anobj):
try:
anobj.lower() + anobj + ' '
except:
return False
else:
return True
測試結(jié)果如下:
>>> import UserString
>>> b=UserString.UserString('abc')
>>> isStringLike(b)
True
>>>
關(guān)于風(fēng)格
根據(jù)自己的語氣去執(zhí)行任務(wù),在此過程中檢測并處理由于不匹配產(chǎn)生的所有錯誤和異常。這種處理方式稱為:
EAFP:It's easier to ask forgiveness than permission.
try/except是保證該風(fēng)格的關(guān)鍵工具。
八卦一下,關(guān)于UserString類
對于2.X版本:Python文檔中提到,如果不涉及到2.2以前的版本,請考慮直接使用str類型來代替UserString類型。
對于3.X版本:該模塊已經(jīng)移到collection模塊中。
該類主要有兩種方法:
class UserString.UserString([sequence])
具體使用前面已經(jīng)舉例,注意可以使用str()轉(zhuǎn)化為str類型
class UserString.MutableString([sequence])
字符串也可以變哦!Look here:
a=UserString.MutableString('abc')
a[0]='c'
In [10]: a
Out[10]: 'cbc'
Python文檔上有行黑體字,原來已經(jīng)是棄用的方法,3.0就沒有了:
Deprecated since version 2.6: The MutableString class has been removed in Python 3.0.
相關(guān)文章
python3.7 使用pymssql往sqlserver插入數(shù)據(jù)的方法
這篇文章主要介紹了python3.7 使用pymssql往sqlserver插入數(shù)據(jù)的方法,代碼很簡單,感興趣的朋友跟隨小編一起看看吧2019-07-07
對Python subprocess.Popen子進(jìn)程管道阻塞詳解
今天小編就為大家分享一篇對Python subprocess.Popen子進(jìn)程管道阻塞詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-10-10
python程序快速縮進(jìn)多行代碼方法總結(jié)
在本篇文章里小編給大家整理了關(guān)于python程序如何快速縮進(jìn)多行代碼的相關(guān)知識點,需要的朋友們學(xué)習(xí)下。2019-06-06
使用Python實現(xiàn)文本情感分析預(yù)處理的詳細(xì)教程
在自然語言處理(NLP)領(lǐng)域,文本情感分析是一項重要任務(wù),它旨在通過計算機技術(shù)識別和提取文本中的情感傾向(如正面、負(fù)面或中性),為了實現(xiàn)準(zhǔn)確的情感分析,預(yù)處理步驟至關(guān)重要,所以本文給大家介紹了使用Python實現(xiàn)文本情感分析預(yù)處理的詳細(xì)教程,需要的朋友可以參考下2025-04-04
設(shè)置jupyter中DataFrame的顯示限制方式
這篇文章主要介紹了設(shè)置jupyter中DataFrame的顯示限制方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來2020-04-04

