python基礎學習之 python類 python正則re模塊

Python內置類屬性

  • __dict__ : 類的屬性(包含一個字典,由類的數據屬性組成)
  • __doc__ :類的文檔字符串
  • __name__: 類名
  • __module__: 類定義所在的模塊(類的全名是'__main__.className',如果類位於一個導入模塊mymod中,那麼className.__module__ 等於 mymod)
  • __bases__ : 類的所有父類構成元素(包含了一個由所有父類組成的元組)


print "Employee.__doc__:", Employee.__doc__
print "Employee.__name__:", Employee.__name__
print "Employee.__module__:", Employee.__module__
print "Employee.__bases__:", Employee.__bases__
print "Employee.__dict__:", Employee.__dict__

 


class Child(Parent): # 定義子類
你可以使用issubclass()或者isinstance()方法來檢測。

issubclass() - 布爾函數判斷一個類是另一個類的子類或者子孫類,語法:issubclass(sub,sup)
isinstance(obj, Class) 布爾函數如果obj是Class類的實例對象或者是一個Class子類的實例對象則返回true。
 

re 模塊使 Python 語言擁有全部的正則表達式功能。
函數語法:

re.match(pattern, string, flags=0)
re.search方法
re.search 掃描整個字符串並返回第一個成功的匹配。
re.match與re.search的區別
re.match只匹配字符串的開始,如果字符串開始不符合正則表達式,則匹配失敗,函數返回None;而re.search匹配整個字符串,直到找到一個匹配。
檢索和替換
Python 的 re 模塊提供了re.sub用於替換字符串中的匹配項。
re.sub(pattern, repl, string, count=0, flags=0)
flags : 可選,表示匹配模式,比如忽略大小寫,多行模式等,具體參數爲:

re.I 忽略大小寫
re.L 表示特殊字符集 \w, \W, \b, \B, \s, \S 依賴於當前環境
re.M 多行模式
re.S 即爲 . 並且包括換行符在內的任意字符(. 不包括換行符)
re.U 表示特殊字符集 \w, \W, \b, \B, \d, \D, \s, \S 依賴於 Unicode 字符屬性數據庫
re.X 爲了增加可讀性,忽略空格和 # 後面的註釋

 

這裏爲什麼都要用一個 r編譯一個正則呢??
pattern = re.compile(r'\d+')                    # 用於匹配至少一個數字
>>> m = pattern.match('one12twothree34four')        # 查找頭部,沒有匹配
>>> print m
None
import re
>>> pattern = re.compile(r'([a-z]+) ([a-z]+)', re.I)   # re.I 表示忽略大小寫
>>> m = pattern.match('Hello World Wide Web')
>>> print m  

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章