您好,登錄后才能下訂單哦!
本篇文章為大家展示了Python中如何使用模塊級函數,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。
你不一定要產生一個 `RegexObject` 對象然後再調用它的方法;re 模塊也提供了***函數調用如 match()、search()、sub() 等等。這些函數使用 RE 字符串作為***個參數,而後面的參數則與相應 `RegexObject` 的方法參數相同,返回則要么是 None 要么就是一個 `MatchObject` 的實例。
#!python>>> print re.match(r'From\s+', 'Fromage amk')
None>>> re.match(r'From\s+', 'From amk Thu May 14
19:12:10 1998')<re.MatchObject instance at 80c5978>Under the hood
這些函數簡單地產生一個 RegexOject 并在其上調用相應的方法。它們也在緩存里保存編譯後的對象,因此在將來調用用到相同 RE 時就會更快。你將使用這些Python模塊級函數,還是先得到一個 `RegexObject` 再調用它的方法呢?如何選擇依賴于怎樣用 RE 更有效率以及你個人編碼風格。如果一個 RE 在代碼中只做用一次的話,那么模塊級函數也許更方便。
如果程序包含很多的正則表達式,或在多處復用同一個的話,那么將全部定義放在一起,在一段代碼中提前編譯所有的 REs 更有用。從標準庫中看一個例子,這是從 xmllib.py 文件中提取出來的:
#!pythonref = re.compile( ... )entityref = re.
compile( ... )charref = re.compile( ... )starttagopen
= re.compile( ... )
我通常更喜歡使用編譯對象,甚至Python模塊級函數只用一次,but few people will be as much of a purist about this as I am。
上述內容就是Python中如何使用模塊級函數,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。