程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 更多關於編程 >> Python檢測一個對象是否為字符串類的方法

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

      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.

    1. 上一頁:
    2. 下一頁:
    Copyright © 程式師世界 All Rights Reserved