摘要:函數(shù)編譯成對(duì)象,加快程序忽略大小寫(xiě)不包括換行符內(nèi)的所有字符做本地化識(shí)別匹配多行字符串正則表達(dá)式為多行搜索字符串,以列表形式返回。
運(yùn)算符 類型
1.分支結(jié)構(gòu)
例:
代碼設(shè)計(jì):
# -*- coding:utf-8 -*- x=int(raw_input("輸入x值:")) if x<=0: f=x**2 print f else: f=x**3 print f
三段以上條件則:if,elif,else
2.循環(huán)結(jié)構(gòu)
range(起始值,終止值,步長(zhǎng))
range(0,20)#0到19的數(shù)
例:打印19個(gè)“我要吃飯”
#用for遍歷19個(gè)循環(huán) for x in range(1,20): print x,"I want to eat"
continue:結(jié)束當(dāng)次循環(huán)
break:結(jié)束整個(gè)循環(huán)
for x in range(1,20): if x==2: print x,"I don"t want to eat" continue #x=2時(shí),執(zhí)行"我不想吃",其他不變 if x==4: print x,"233333" break #x=4時(shí),執(zhí)行23333,x=[5-19]都不能執(zhí)行 print x,"I want to eat"正則表達(dá)式
作用:字符串(str)匹配模式(re)
代碼實(shí)例:
import re str="abc,afc,amc,aic,^abc" res=r"a[bf]c"#結(jié)果:["abc", "afc"] print re.findall(res,str) res=r"a[^bf]c"#取反:["amc", "aic"] res=r"^abc"#取消所有元字符,匹配["^abc"] res=r"ab+"#匹配ab,abbbbbb之類 res=r"ab*"#匹配a,ab,abbbbbb之類
str="010-123456789" res=r"010-?d{8}"#匹配電話號(hào)碼
貪婪模式:盡可能大的匹配。
非貪婪模式:.? 是一個(gè)固定的搭配,.和代表可以匹配任意無(wú)限多個(gè)字符,加上?表示使用非貪婪模式進(jìn)行匹配,也就是我們會(huì)盡可能短地做匹配,以后我們還會(huì)大量用到 .*? 的搭配。
函數(shù):
re.compile(pattrn,flags):編譯成對(duì)象,加快程序
flags:
1.re.I: 忽略大小寫(xiě)
2.re.S: 不包括換行符內(nèi)的所有字符
3.re.L:做本地化識(shí)別
4.re.M:匹配多行字符串
5.re.X:正則表達(dá)式為多行
re.findall(pattern, string):搜索字符串,以列表形式返回。
re.match():嘗試從字符串的開(kāi)始匹配一個(gè)模式
re.search():在字符串內(nèi)查找模式匹配,只到找到第一個(gè)匹配然后返回,如果字符串沒(méi)有匹配,則返回None。
re.sub():替換。
re.split():切割。
例:
re.S的用法(匹配
, 之類的換行符)
import re str="abc oooass" res="w{3}.w{6}" a=re.compile(res,re.S) print a.findall(str)
re.M的用法(字符串多行)
import re str=""" abc oo abc ooo ooo abc sia abc """ res="^abc" a=re.compile(res,re.M) print a.findall(str)
re.X用法(正則寫(xiě)多行)
import re str="010-12345678" res=""" d{3,4} -? d{8} """ a=re.compile(res,re.X) print a.findall(str)
re.search():一般是用來(lái)查詢文件中是否有我們想要的字符串,group()輸出
import re str = "Daming is a handsome boy, he is cool " m = re.search(r"(w+)s", str) if m: print m.group(0), " ", m.group(1) else: print "not match"
re.sub():
import re r=r"c..t" print re.sub(r,"python","csvt csst csft")
re.split():
import re str="101+123-123*12233/123" res=r"[-+*/]" print re.split(res,str)寫(xiě)一個(gè)簡(jiǎn)單的下載貼吧圖片小爬蟲(chóng)
import re import urllib def getHtml(url): page = urllib.urlopen(url) html = page.read() return html def getImg(html): reg = r"src="(.+?.jpg)" pic_ext" imgre = re.compile(reg) imglist = imgre.findall(html) x = 0 for imgurl in imglist: urllib.urlretrieve(imgurl,"%s.jpg" % x) x = x + 1 html = getHtml("http://tieba.baidu.com/p/2460150866") getImg(html)
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/37630.html
摘要:講點(diǎn)搞笑的,最近在開(kāi)發(fā)時(shí),發(fā)現(xiàn)最令程序猿頭疼的一點(diǎn)就是沒(méi)有語(yǔ)句。但自動(dòng)的僵尸呢哎,別急,那是后話下集預(yù)告下次,我要把游戲變得全自動(dòng)具體工作令僵尸自動(dòng)出現(xiàn),和讓用戶用命令控制游戲這些工作完成后,就可以發(fā)布了歡迎繼續(xù)關(guān)注 嗯,還是我,我又回來(lái)了——以后文章就兩天一篇吧。講點(diǎn)搞笑的,最近在開(kāi)發(fā)v1.1 beta 3時(shí),發(fā)現(xiàn)Python最令程序猿頭疼的一點(diǎn)就是沒(méi)有switch/case語(yǔ)句。要...
Python裝飾器為什么難理解? 無(wú)論項(xiàng)目中還是面試都離不開(kāi)裝飾器話題,裝飾器的強(qiáng)大在于它能夠在不修改原有業(yè)務(wù)邏輯的情況下對(duì)代碼進(jìn)行擴(kuò)展,權(quán)限校驗(yàn)、用戶認(rèn)證、日志記錄、性能測(cè)試、事務(wù)處理、緩存等都是裝飾器的絕佳應(yīng)用場(chǎng)景,它能夠最大程度地對(duì)代碼進(jìn)行復(fù)用。 但為什么初學(xué)者對(duì)裝飾器的理解如此困難,我認(rèn)為本質(zhì)上是對(duì)Py… Python 實(shí)現(xiàn)車牌定位及分割 作者用 Python 實(shí)現(xiàn)車牌定位及分割的實(shí)踐。 ...
摘要:在這里真心感謝一直在支持我的那幾個(gè)粉絲,謝謝你們的持續(xù)關(guān)注點(diǎn)贊。果然,第三個(gè)包也是按的步差來(lái)的,而為零不變,也不變。函數(shù)里面的話就是個(gè)循環(huán)咯,當(dāng)條件不滿足時(shí)就一直加,知道條件滿足為止。我每天都會(huì)抽時(shí)間給我的粉絲解答,給與一些學(xué)習(xí)資源。 目錄 前言 準(zhǔn)備工作 分析(x0) 分析(x1) 分析(...
摘要:歡迎你們跟著閏土大叔走進(jìn)時(shí)代。其中購(gòu)買(mǎi)數(shù)量可以增加或減少,每類商品還可以從購(gòu)物車中移除。后記這大概就是一次用重構(gòu)電商項(xiàng)目中的購(gòu)物車模塊的所有實(shí)現(xiàn)過(guò)程。作者閏土大叔鏈接來(lái)源掘金著作權(quán)歸作者所有。 前言 從這篇文章開(kāi)始,我準(zhǔn)備給大家分享一些關(guān)于Vue.js這門(mén)框架的技巧性系列文章,正好我們公司項(xiàng)目中也用到了Vue。所以,教是最好的學(xué)。進(jìn)階篇比較適合于二三線城市,還在小廠打拼的童鞋們。歡迎你...
摘要:允許你追蹤目標(biāo)元素與其祖先元素或視窗的交叉狀態(tài)。此外,盡管只有一部分元素出現(xiàn)在視窗中,哪怕只有一像素,也可以選擇觸發(fā)回調(diào)函數(shù)。即只有線程空閑下來(lái),才會(huì)執(zhí)行觀察器。 允許你追蹤目標(biāo)元素與其祖先元素或視窗的交叉狀態(tài)。此外,盡管只有一部分元素出現(xiàn)在視窗中,哪怕只有一像素,也可以選擇觸發(fā)回調(diào)函數(shù)。 IntersectionObserver 為什么需要它 ? 在我們需要監(jiān)聽(tīng)目標(biāo)元素是否進(jìn)入視口時(shí)...
閱讀 1344·2023-04-26 00:35
閱讀 2716·2023-04-25 18:32
閱讀 3344·2021-11-24 11:14
閱讀 770·2021-11-22 15:24
閱讀 1418·2021-11-18 10:07
閱讀 6467·2021-09-22 10:57
閱讀 2774·2021-09-07 09:58
閱讀 3565·2019-08-30 15:54