真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

python常用函數(shù)舉例 python定義函數(shù)

一文秒懂python正則表達式常用函數(shù)

01 Re概覽

成都創(chuàng)新互聯(lián),為您提供成都網(wǎng)站建設、成都網(wǎng)站制作、網(wǎng)站營銷推廣、網(wǎng)站開發(fā)設計,對服務混凝土攪拌機等多個行業(yè)擁有豐富的網(wǎng)站建設及推廣經(jīng)驗。成都創(chuàng)新互聯(lián)網(wǎng)站建設公司成立于2013年,提供專業(yè)網(wǎng)站制作報價服務,我們深知市場的競爭激烈,認真對待每位客戶,為客戶提供賞心悅目的作品。 與客戶共同發(fā)展進步,是我們永遠的責任!

Re模塊是python的內(nèi)置模塊,提供了正則表達式在python中的所有用法,默認安裝位置在python根目錄下的Lib文件夾(如 ..\Python\Python37\Lib)。主要提供了3大類字符串操作方法:

字符查找/匹配

字符替換

字符分割

由于是面向字符串類型的模塊,就不得不提到字符串編碼類型。re模塊中,模式串和搜索串既可以是 Unicode 字符串 (常用str類型) ,也可以是8位字節(jié)串 (bytes,2位16進制數(shù)字,例如\xe5) , 但要求二者必須是同類型字符串。

02 字符串查找/匹配

預編譯:compile

在介紹查找和匹配函數(shù)前,首先需要知道re的compile函數(shù),該函數(shù)可以將一個模式串編譯成正則表達式類型,以便后續(xù)快速匹配和復用

import?re pattern?=?re.compile(r'[a-z]{2,5}') type(pattern)?#re.Pattern

此例創(chuàng)建了一個正則表達式式對象 (re.pattern) ,命名為pattern,用于匹配2-5位小寫字母的模式串。后續(xù)在使用其他正則表達式函數(shù)時,即可使用pattern進行方法調用。

匹配:match

match函數(shù)用于從文本串的起始位置開始匹配,若匹配成功,則返回相應的匹配對象,此時可調用group()方法返回匹配結果,也可用span()方法返回匹配起止下標區(qū)間;否則返回None

import?re pattern?=?re.compile(r'[a-z]{2,5}') text1?=?'this?is?a?re?test' res?=?pattern.match(text1) print(res)?# if?res: ?print(res.group())?#this ?print(res.span())?#(0,?4) text2?=?'是的,?this?is?a?re?test' print(pattern.match(text2))#None

match函數(shù)還有一個變形函數(shù)fullmatch,當且僅當模式串與文本串剛好全部匹配時,返回一個匹配對象,否則返回None

搜索:search

match只提供了從文本串起始位置匹配的結果,如果想從任意位置匹配,則可調用search方法,與match方法類似,當任意位置匹配成功,則立即返回一個匹配對象,也可調用span()方法獲取起止區(qū)間、調用group方法獲得匹配文本串

import?re pattern?=?re.compile(r'\s[a-z]{2}') text1?=?'this?is?a?re?test' res?=?pattern.search(text1) print(res)?# if?res: ?print(res.group())?#is ?print(res.span())?#(4,?7) pattern2?=?re.compile(r'\s[a-z]{5}') text2?=?'是的,this?is?a?re?test' print(pattern2.search(text2))#None

match和search均用于匹配單個結果,唯一區(qū)別在于前者是從起始位置開始匹配,而后者從任意位置匹配,匹配成功則返回一個match對象。

全搜索:findall/finditer

幾乎是最常用的正則表達式函數(shù),用于尋找所有匹配的結果,例如在爬蟲信息提取中,可非常方便地提取所有匹配字段

import?re pattern?=?re.compile(r'\s[a-z]{2,5}') text1?=?'this?is?a?re?test' res?=?pattern.findall(text1) print(res)?#['?is',?'?re',?'?test']

findall返回的是一個列表對象類型,當無匹配對象時,返回一個空列表。為了避免因同時返回大量匹配結果占用過多內(nèi)存,可以調用finditer函數(shù)返回一個迭代器類型,其中每個迭代元素是一個match對象,可繼續(xù)調用group和span方法獲取相應結果

import?re pattern?=?re.compile(r'\s[a-z]{2,5}') text1?=?'this?is?a?re?test' res?=?pattern.finditer(text1) for?r?in?res: ?print(r.group()) """ ?is ?re ?test """

當匹配模式串較為簡單或者僅需單詞調用時,上述所有方法也可直接調用re類函數(shù),而無需事先編譯。此時各方法的第一個參數(shù)為模式串。

import?re pattern?=?re.compile(r'\d{2,5}') text?=?'this?is?re?test' re.findall('[a-z]+',?text)?#['this',?'is',?'re',?'test'] 03 字符串替換/分割

替換:sub/subn

當需要對文本串進行條件替換時,可調用re.sub實現(xiàn) (當然也可先編譯后再用調用實例方法) ,相應參數(shù)分別為模式串、替換格式、文本串,還可以通過增加缺省參數(shù)限定替換次數(shù)和匹配模式。通過在模式串進行分組,可實現(xiàn)字符串的格式化替換(類似字符串的format方法),以實現(xiàn)特定任務。

import?re text?=?'today?is?2020-03-05' print(re.sub('-',?'',?text))?#'today?is?20200305' print(re.sub('-',?'',?text,?1))?#'today?is?202003-05' print(re.sub('(\d{4})-(\d{2})-(\d{2})',?r'\2/\3/\1',?text))?#'today?is?03/05/2020'

re.sub的一個變形方法是re.subn,區(qū)別是返回一個2元素的元組,其中第一個元素為替換結果,第二個為替換次數(shù)

import?re text?=?'today?is?2020-03-05' print(re.subn('-',?'',?text))?#('today?is?20200305',?2)

分割:split

還可以調用正則表達式實現(xiàn)字符串的特定分割,相當于.split()方法的一個加強版,實現(xiàn)特定模式的分割,返回一個切割后的結果列表

import?re text?=?'today?is?a?re?test,?what?do?you?mind?' print(re.split(',',?text))?#['today?is?a?re?test',?'?what?do?you?mind?'] 04 總結

python中的re模塊提供了正則表達式的常用方法,每種方法都包括類方法調用(如re.match)或模式串的實例調用(pattern.match)2種形式

常用的匹配函數(shù):match/fullmatch

常用的搜索函數(shù):search/findall/finditer

常用的替換函數(shù):sub/subn

常用的切割函數(shù):split

還有其他很多方法,但不是很常用,具體可參考官方文檔

另外,python還有第三方正則表達式庫regex可供選擇

到此這篇關于一文秒懂python正則表達式常用函數(shù)的文章就介紹到這了,希望大家以后多多支持!

Python的函數(shù)都有哪些

【常見的內(nèi)置函數(shù)】

1、enumerate(iterable,start=0)

是python的內(nèi)置函數(shù),是枚舉、列舉的意思,對于一個可迭代的(iterable)/可遍歷的對象(如列表、字符串),enumerate將其組成一個索引序列,利用它可以同時獲得索引和值。

2、zip(*iterables,strict=False)

用于將可迭代的對象作為參數(shù),將對象中對應的元素打包成一個個元組,然后返回由這些元組組成的列表。如果各個迭代器的元素個數(shù)不一致,則返回列表長度與最短的對象相同,利用*號操作符,可以將元組解壓為列表。

3、filter(function,iterable)

filter是將一個序列進行過濾,返回迭代器的對象,去除不滿足條件的序列。

4、isinstance(object,classinfo)

是用來判斷某一個變量或者是對象是不是屬于某種類型的一個函數(shù),如果參數(shù)object是classinfo的實例,或者object是classinfo類的子類的一個實例,

返回True。如果object不是一個給定類型的的對象, 則返回結果總是False

5、eval(expression[,globals[,locals]])

用來將字符串str當成有效的表達式來求值并返回計算結果,表達式解析參數(shù)expression并作為Python表達式進行求值(從技術上說是一個條件列表),采用globals和locals字典作為全局和局部命名空間。

【常用的句式】

1、format字符串格式化

format把字符串當成一個模板,通過傳入的參數(shù)進行格式化,非常實用且強大。

2、連接字符串

常使用+連接兩個字符串。

3、if...else條件語句

Python條件語句是通過一條或多條語句的執(zhí)行結果(True或者False)來決定執(zhí)行的代碼塊。其中if...else語句用來執(zhí)行需要判斷的情形。

4、for...in、while循環(huán)語句

循環(huán)語句就是遍歷一個序列,循環(huán)去執(zhí)行某個操作,Python中的循環(huán)語句有for和while。

5、import導入其他腳本的功能

有時需要使用另一個python文件中的腳本,這其實很簡單,就像使用import關鍵字導入任何模塊一樣。

python里面有哪些自帶函數(shù)?

python系統(tǒng)提供了下面常用的函數(shù):

1. 數(shù)學庫模塊(math)提供了很多數(shù)學運算函數(shù);

2.復數(shù)模塊(cmath)提供了用于復數(shù)運算的函數(shù);

3.隨機數(shù)模塊(random)提供了用來生成隨機數(shù)的函數(shù);

4.時間(time)和日歷(calendar)模塊提供了能處理日期和時間的函數(shù)。

注意:在調用系統(tǒng)函數(shù)之前,先要使用import 語句導入 相應的模塊

該語句將模塊中定義的函數(shù)代碼復制到自己的程 序中,然后就可以訪問模塊中的任何函數(shù),其方 法是在函數(shù)名前面加上“模塊名.”。

希望能幫到你。

Python常用函數(shù)三有哪些?這7個函數(shù)使用頻率最高,總算搞明白了

1.1 例如:print(hex(2))案例

1.2 輸出函數(shù):print(hex(2))

1.3 輸出結果:0x2

1.4 解析說明:返回16進制的數(shù)。

2.1 例如:print(chr(10))案例

2.2 輸出函數(shù):print(chr(10))

2.3 輸出結果:0o12

2.4 解析說明:返回當前整數(shù)對應的ASCll碼

3.1 例如:print(ord("b"))案例

3.2 輸出函數(shù):print(ord("b"))

3.3 輸出結果:98

3.4 解析說明:返回當前ASCll碼的10進制數(shù)

4.1 例如:print(chr(97))

4.2 輸出函數(shù):print(chr(97))

4.3 輸出結果:b

4.4 解析說明:返回當前ASCll碼的10進制數(shù)。

案例一:給你一個字符串,s = 'hello kitty'

1.1 輸出函數(shù):print(s.capitalize())

1.2 輸出結果:0x2

1.3 解析說明:返回16進制的數(shù)。

2.1輸出函數(shù):print(s.replace('kitty','kuang'))

2.2 輸出結果:hello kuang

2.3 解析說明:替換功能,將kitty換成kuang。

2.4 輸出函數(shù):print(s.replace('4','KK'))

2.5 輸出結果:12KK12KK

2.6 解析說明:所有的4都替換成KK

2.7 輸出函數(shù):print(s.replace('4','KK'))

2.8 輸出結果:12KK12KK124

2.9 解析說明:將前兩個的4替換成go

案例一:給你一個字符串,ip = '192.168.1.1'

3.1 輸出函數(shù):print(ip.split(','))

3.2 輸出結果:['192.168.1.1']

3.3 解析說明:將字符串分割成列表

案例一:給你一個字符串,ip = '192.168.1.1'

3.3 輸出函數(shù):print(ip.split(',',2))

3.4 輸出結果:['192.168.1.1']

3.5 解析說明:從第二個開始分割成列表


分享文章:python常用函數(shù)舉例 python定義函數(shù)
標題URL:http://weahome.cn/article/hjcdjj.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部