欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

python好看的函數(shù) Python函數(shù)大全

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

01 Re概覽

創(chuàng)新互聯(lián)公司堅持“要么做到,要么別承諾”的工作理念,服務領(lǐng)域包括:成都網(wǎng)站設計、網(wǎng)站建設、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣等服務,滿足客戶于互聯(lián)網(wǎng)時代的新?lián)峋W(wǎng)站設計、移動媒體設計的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡建設合作伙伴!

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進行方法調(diào)用。

匹配:match

match函數(shù)用于從文本串的起始位置開始匹配,若匹配成功,則返回相應的匹配對象,此時可調(diào)用group()方法返回匹配結(jié)果,也可用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只提供了從文本串起始位置匹配的結(jié)果,如果想從任意位置匹配,則可調(diào)用search方法,與match方法類似,當任意位置匹配成功,則立即返回一個匹配對象,也可調(diào)用span()方法獲取起止區(qū)間、調(diào)用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均用于匹配單個結(jié)果,唯一區(qū)別在于前者是從起始位置開始匹配,而后者從任意位置匹配,匹配成功則返回一個match對象。

全搜索:findall/finditer

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

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

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 """

當匹配模式串較為簡單或者僅需單詞調(diào)用時,上述所有方法也可直接調(diào)用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

當需要對文本串進行條件替換時,可調(diào)用re.sub實現(xiàn) (當然也可先編譯后再用調(diào)用實例方法) ,相應參數(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元素的元組,其中第一個元素為替換結(jié)果,第二個為替換次數(shù)

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

分割:split

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

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 總結(jié)

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

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

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

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

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

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

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

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

python函數(shù)有哪些

1、print()函數(shù):打印字符串;

2、raw_input()函數(shù):從用戶鍵盤捕獲字符;

3、len()函數(shù):計算字符長度;

4、format()函數(shù):實現(xiàn)格式化輸出;

5、type()函數(shù):查詢對象的類型;

6、int()函數(shù)、float()函數(shù)、str()函數(shù)等:類型的轉(zhuǎn)化函數(shù);

7、id()函數(shù):獲取對象的內(nèi)存地址;

8、help()函數(shù):Python的幫助函數(shù);

9、s.islower()函數(shù):判斷字符小寫;

10、s.sppace()函數(shù):判斷是否為空格;

11、str.replace()函數(shù):替換字符;

12、import()函數(shù):引進庫;

13、math.sin()函數(shù):sin()函數(shù);

14、math.pow()函數(shù):計算次方函數(shù);

15、os.getcwd()函數(shù):獲取當前工作目錄;

16、listdir()函數(shù):顯示當前目錄下的文件;

17、time.sleep()函數(shù):停止一段時間;

18、random.randint()函數(shù):產(chǎn)生隨機數(shù);

19、range()函數(shù):返回一個列表,打印從1到100;

20、file.read()函數(shù):讀取文件返回字符串;

21、file.readlines()函數(shù):讀取文件返回列表;

22、file.readline()函數(shù):讀取一行文件并返回字符串;

23、split()函數(shù):用什么來間隔字符串;

24、isalnum()函數(shù):判斷是否為有效數(shù)字或字符;

25、isalpha()函數(shù):判斷是否全為字符;

26、isdigit()函數(shù):判斷是否全為數(shù)字;

27、 lower()函數(shù):將數(shù)據(jù)改成小寫;

28、upper()函數(shù):將數(shù)據(jù)改成大寫;

29、startswith(s)函數(shù):判斷字符串是否以s開始的;

30、endwith(s)函數(shù):判斷字符串是否以s結(jié)尾的;

31、file.write()函數(shù):寫入函數(shù);

32、file.writeline()函數(shù):寫入文件;

33、abs()函數(shù):得到某數(shù)的絕對值;

34、file.sort()函數(shù):對書數(shù)據(jù)排序;

35、tuple()函數(shù):創(chuàng)建一個元組;

36、find()函數(shù):查找 返回的是索引;

37、dict()函數(shù):創(chuàng)建字典;

38、clear()函數(shù):清楚字典中的所有項;

39、copy()函數(shù):復制一個字典,會修改所有的字典;

40、 get()函數(shù):查詢字典中的元素。

…………

Python中幾個特殊的函數(shù)

1、 定義一個特殊的 __slots__ 變量,來限制該class實例能添加的屬性

2、 內(nèi)置的 @property(關(guān)鍵字) 裝飾器就是負責把一個方法變成屬性調(diào)用的。@property.setter(這里的property是類里面的屬性名)負責把一個setter方法變成屬性賦值。

3、 __str__(),__repr__(),__iter__(),__next__(),__getitem__(),__setitem__(),__delitem__(),__getattr__(),__call__()

請教幾個python3.1的函數(shù)與方法的用法!

NO.1.

insert()是對列表進行操作,insert,顧名思義,插入,在列表中插入,所以insert(i, x)就是在列表的第i個位置之前插入對應的value,這個value就是x,比如:

l = [0, 1, 2, 3]

l.insert(0, 9)

l

[9, 0, 1, 2, 3]

#這個就是把9插入到l列表的第0個位置之前。

NO.2.

同樣remove也是對列表操作,顧名思義,remove--刪除,使用方法是list.remove(value),即刪除對應列表中的某個值,比如我們用剛才的那個列表繼續(xù):

l

[9, 0, 1, 2, 3]

l.remove(0)

l

[9, 1, 2, 3]

l.remove(3)

l

[9, 1, 2]

#注意,括號里面填的是列表里面的值,二不是值的位置下標

NO.3.

input()這個需要注意一下,在python3.x以前,他用來接收數(shù)字,但python3.x中,他就收的是字符串,比如

-*-3.x 中哈

a = input("please input a number:")

please input a number:2

a

'2' #看到?jīng)],他被引號引了

要想在python3.x中用input就收數(shù)字的話,你就必須用eval

比如:

a = input("please input a number:")

please input a number:2

a

'2'

eval(a)

2

# ok,沒引號了,

你也可以用type來查看他的類型:

type(a)

class 'str'

但在python2.x中用input就是int型的

IDLE 2.6.6

a = input("please input a number:")

please input a number:2

a

2

type(a)

type 'int'

NO.4.

dir(),用過命令行吧,一樣的,他可以看到模塊下有些什么東東,比如:

dir()

['__builtins__', '__doc__', '__name__', '__package__', 'a', 'l']

import time

dir(time)

['__doc__', '__name__', '__package__', 'accept2dyear', 'altzone', 'asctime', 'clock', 'ctime', 'daylight', 'gmtime', 'localtime', 'mktime', 'sleep', 'strftime', 'strptime', 'struct_time', 'time', 'timezone', 'tzname']

可以看出,dir返回的是一個列表,若dir不帶參數(shù),那么他返回的就是當前本地范圍,若帶了參數(shù),比如time,就會返回time模塊下包含的內(nèi)容。

================================

啊啊啊,終于完了,絕對原創(chuàng)

Python函數(shù)簡單Demo案例

目錄

一、寫一個函數(shù)求三個數(shù)的和,并返回結(jié)果

二、寫一個函數(shù)求三個數(shù)的平均值,并返回結(jié)果

三、再寫一個函數(shù)求每個數(shù)與平均值之間的差,并返回結(jié)果

新聞名稱:python好看的函數(shù) Python函數(shù)大全
文章源于:http://chinadenli.net/article40/dooghho.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供關(guān)鍵詞優(yōu)化網(wǎng)站維護軟件開發(fā)定制開發(fā)云服務器用戶體驗

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

營銷型網(wǎng)站建設