熱線電話:13121318867

登錄
首頁精彩閱讀Python檢測一個對象是否為字符串類的方法
Python檢測一個對象是否為字符串類的方法
2017-11-12
收藏

Python檢測一個對象是否為字符串類的方法

這篇文章主要介紹了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中常用的鴨子判斷法:如果它走路像鴨子,叫聲像鴨子,就可以認為它是鴨子了。

代碼如下:

def isStringLike(anobj):

    try:

        anobj.lower() + anobj + ' '

    except:

        return False

    else:

        return True

測試結果如下:

代碼如下:

>>> import UserString
>>> b=UserString.UserString('abc')
>>> isStringLike(b)
True
>>>

關于風格

根據自己的語氣去執行任務,在此過程中檢測并處理由于不匹配產生的所有錯誤和異常。這種處理方式稱為:

代碼如下:

EAFP:It's easier to ask forgiveness than permission.


try/except是保證該風格的關鍵工具。

八卦一下,關于UserString類

對于2.X版本:Python文檔中提到,如果不涉及到2.2以前的版本,請考慮直接使用str類型來代替UserString類型。

對于3.X版本:該模塊已經移到collection模塊中。

該類主要有兩種方法:

復制代碼代碼如下:

class UserString.UserString([sequence])

具體使用前面已經舉例,注意可以使用str()轉化為str類型

代碼如下:

class UserString.MutableString([sequence])


字符串也可以變哦!Look here:

代碼如下:

a=UserString.MutableString('abc')
a[0]='c'

In [10]: a
Out[10]: 'cbc'



Python文檔上有行黑體字,原來已經是棄用的方法,3.0就沒有了:

代碼如下:

Deprecated since version 2.6: The MutableString class has been removed in Python 3.0.



數據分析咨詢請掃描二維碼

若不方便掃碼,搜微信號:CDAshujufenxi

數據分析師資訊
更多

OK
客服在線
立即咨詢
日韩人妻系列无码专区视频,先锋高清无码,无码免费视欧非,国精产品一区一区三区无码
客服在線
立即咨詢