日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

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

系統 1788 0

目的

  測試一個對象是否是字符串

方法

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]:

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.


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 通辽市| 达孜县| 西乡县| 理塘县| 磐安县| 随州市| 彭州市| 渝中区| 辽宁省| 库伦旗| 那曲县| 永康市| 峨眉山市| 璧山县| 大石桥市| 沙湾县| 松滋市| 徐水县| 嘉义市| 乐清市| 罗平县| 汉川市| 合作市| 大同县| 炉霍县| 丁青县| 平安县| 沁源县| 平原县| 广饶县| 南丹县| 罗定市| 股票| 山阴县| 台江县| 万载县| 东光县| 关岭| 香格里拉县| 伊金霍洛旗| 阳高县|