最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python 正則 re.compile 真的必需嗎

 更新時(shí)間:2022年06月29日 15:39:19   作者:笑笑布丁  
本文主要介紹了Python 正則 re.compile 真的必需嗎,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

背景:我在爬蟲(chóng)處理某個(gè)文本時(shí),用到了re.findall(),而不是re.compile。遠(yuǎn)在新加坡的同事提出了質(zhì)疑,認(rèn)為以我的水平,不應(yīng)該寫(xiě)出這樣影響性能的代碼,讓我優(yōu)化一下。我提出了反駁:既然使用了Python,就不應(yīng)該太過(guò)考慮性能的問(wèn)題,如果要考慮性能就使用C語(yǔ)言,而不是Python.他接著說(shuō):正是因?yàn)閜ython性能不夠,所以更應(yīng)該考慮代碼的優(yōu)化,能做好就應(yīng)該做到最好.最后,我沒(méi)有回話,當(dāng)然我也沒(méi)有進(jìn)行所謂的優(yōu)化,以下我會(huì)給出我自己的觀點(diǎn).

re.compile()、re.findall()、re.search() 的作用與區(qū)別

1、re.compile()

Python里的re是支持正則表達(dá)式的模塊,所謂的正則表達(dá)式就是匹配文本里符合條件的語(yǔ)句. re.compile()是根據(jù)包含正則表達(dá)式的字符串創(chuàng)建模式對(duì)象,以提高匹配效率.例如:

def test():
    regex = r'(\d+) years old'
    content = 'Alex is a 7 years old boy.'
    reg = re.compile(regex)
    result = re.search(reg, content).group()
    print(result)
result = 7

2、re.search()

re.search()是在字符串開(kāi)啟查找模式,如其名:search.例如:

def test():
    content = 'Alex is a 7 years old boy.'
    result = re.search(r'(\d+) years old', content).group()
    print(result)
result = 7

3、re.findall()

re.findall()是返回一個(gè)列表,列表里包含了所有符合條件的結(jié)果,例如:

def test():
    content = 'Alex is a 7 years old boy.Bob is a 12 years old boy...'
    result = re.findall(r'(\d+) years old', content)
    print(result)
result = ['7', '12']

我們分歧在他認(rèn)為我應(yīng)該先用 re.complile 編譯好正則之后,再匹配,正如我在re.compile舉得例子. 你會(huì)說(shuō)他說(shuō)的沒(méi)錯(cuò)啊,作者不應(yīng)該順從同事這個(gè)合理的要求,不改就算了還要在這里發(fā)文BB.我想說(shuō)的是 拋開(kāi)劑量談毒性,都是耍流氓。對(duì)于數(shù)據(jù)來(lái)說(shuō)拋開(kāi)量級(jí)談性能差異,都是耍流氓. 如果要處理的 文本是百萬(wàn)、千萬(wàn)、億這個(gè)級(jí)別,我會(huì)做優(yōu)化,但是對(duì)于個(gè)別剛上萬(wàn)的數(shù)據(jù)來(lái)說(shuō),我覺(jué)得沒(méi)必要,業(yè)務(wù)流程真的不缺那0.0X秒,多寫(xiě)一行re.compile的時(shí)間遠(yuǎn)大于提示的時(shí)間了. 做好代碼的優(yōu)化很重要,特別是面對(duì)大量數(shù)據(jù)的時(shí)候,但是我們要想清楚,有時(shí)候并不是靠那幾行re.compile就能提高多大的性能,精簡(jiǎn)流程,合理的設(shè)計(jì)模式才是重點(diǎn). 工作中還是要做好和同事的溝通,不要和我一樣,不然遲早會(huì)被別人唾棄.

在這里插入圖片描述

在這里插入圖片描述

根據(jù)下面評(píng)論的提示re.compile()那一行應(yīng)該放在迭代外面的代碼塊里,相比圖中的時(shí)間速度會(huì)有所提升.????.但是我們的業(yè)務(wù)邏輯是和上圖一樣的,而不是在迭代之外.

到此這篇關(guān)于Python 正則 re.compile 真的必需嗎的文章就介紹到這了,更多相關(guān)Python 正則 re.compile內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python?property裝飾器使用案例介紹

    Python?property裝飾器使用案例介紹

    這篇文章主要介紹了Python?@property裝飾器的用法,在Python中,可以通過(guò)@property裝飾器將一個(gè)方法轉(zhuǎn)換為屬性,從而實(shí)現(xiàn)用于計(jì)算的屬性,下面文章圍繞主題展開(kāi)更多相關(guān)詳情,感興趣的小伙伴可以參考一下
    2022-10-10
  • Python的collections模塊中的OrderedDict有序字典

    Python的collections模塊中的OrderedDict有序字典

    字典是無(wú)序的,但是collections的OrderedDict類(lèi)為我們提供了一個(gè)有序的字典結(jié)構(gòu),名副其實(shí)的Ordered+Dict,下面通過(guò)兩個(gè)例子來(lái)簡(jiǎn)單了解下Python的collections模塊中的OrderedDict有序字典:
    2016-07-07
  • Python遍歷某目錄下的所有文件夾與文件路徑

    Python遍歷某目錄下的所有文件夾與文件路徑

    這篇文章主要介紹了Python遍歷某目錄下的所有文件夾與文件路徑 以及輸出中文亂碼問(wèn)題的解決方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-03-03
  • 基于Python?OpenCV和?dlib實(shí)現(xiàn)眨眼檢測(cè)

    基于Python?OpenCV和?dlib實(shí)現(xiàn)眨眼檢測(cè)

    這篇文章主要介紹了基于Python?OPenCV及dlib實(shí)現(xiàn)檢測(cè)視頻流中的眨眼次數(shù)。文中的代碼對(duì)我們的學(xué)習(xí)和工作有一定價(jià)值,感興趣的同學(xué)可以參考一下
    2021-12-12
  • python中的json模塊常用方法匯總

    python中的json模塊常用方法匯總

    這篇文章主要介紹了python中的json模塊常用方法匯總,json模塊可以實(shí)現(xiàn)json數(shù)據(jù)的序列化和反序列化,更多相關(guān)資料介紹需要的小伙伴可以參考一下下面文章內(nèi)容
    2022-06-06
  • python的多元數(shù)據(jù)類(lèi)型(上)

    python的多元數(shù)據(jù)類(lèi)型(上)

    這篇文章主要為大家詳細(xì)介紹了python的多元數(shù)據(jù)類(lèi)型,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-11-11
  • Python configparser模塊封裝及構(gòu)造配置文件

    Python configparser模塊封裝及構(gòu)造配置文件

    這篇文章主要介紹了Python configparser模塊封裝及構(gòu)造配置文件,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-08-08
  • Python檢查和同步本地時(shí)間(北京時(shí)間)的實(shí)現(xiàn)方法

    Python檢查和同步本地時(shí)間(北京時(shí)間)的實(shí)現(xiàn)方法

    這篇文章主要介紹了Python檢查和同步本地時(shí)間(北京時(shí)間)的實(shí)現(xiàn)方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-12-12
  • Python logging日志模塊使用指南

    Python logging日志模塊使用指南

    Python 的 logging 模塊提供了標(biāo)準(zhǔn)的日志接口,可以通過(guò)它存儲(chǔ)各種格式的日志,日志記錄提供了一組便利功能,用于簡(jiǎn)單的日志記錄用法,本文就給大家簡(jiǎn)單的介紹一下Python logging日志模塊使用方法,需要的朋友可以參考下
    2023-08-08
  • python 自動(dòng)批量打開(kāi)網(wǎng)頁(yè)的示例

    python 自動(dòng)批量打開(kāi)網(wǎng)頁(yè)的示例

    今天小編就為大家分享一篇python 自動(dòng)批量打開(kāi)網(wǎng)頁(yè)的示例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-02-02

最新評(píng)論

长垣县| 长葛市| 永福县| 吉安市| 湘阴县| 大竹县| 噶尔县| 崇仁县| 嘉祥县| 苏尼特右旗| 山东| 六盘水市| 赣榆县| 澎湖县| 通江县| 准格尔旗| 秦安县| 湘阴县| 饶平县| 安丘市| 石屏县| 化德县| 陆丰市| 富平县| 肃宁县| 古交市| 巢湖市| 常宁市| 湖北省| 汝城县| 平顶山市| 包头市| 尼木县| 平湖市| 拜城县| 綦江县| 涪陵区| 双鸭山市| 定州市| 曲沃县| 宜春市|