摘要:函數編譯成對象,加快程序忽略大小寫不包括換行符內的所有字符做本地化識別匹配多行字符串正則表達式為多行搜索字符串,以列表形式返回。
運算符 類型
1.分支結構
例:
代碼設計:
# -*- 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.循環結構
range(起始值,終止值,步長)
range(0,20)#0到19的數
例:打印19個“我要吃飯”
#用for遍歷19個循環 for x in range(1,20): print x,"I want to eat"
continue:結束當次循環
break:結束整個循環
for x in range(1,20): if x==2: print x,"I don"t want to eat" continue #x=2時,執行"我不想吃",其他不變 if x==4: print x,"233333" break #x=4時,執行23333,x=[5-19]都不能執行 print x,"I want to eat"正則表達式
作用:字符串(str)匹配模式(re)
代碼實例:
import re str="abc,afc,amc,aic,^abc" res=r"a[bf]c"#結果:["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}"#匹配電話號碼
貪婪模式:盡可能大的匹配。
非貪婪模式:.? 是一個固定的搭配,.和代表可以匹配任意無限多個字符,加上?表示使用非貪婪模式進行匹配,也就是我們會盡可能短地做匹配,以后我們還會大量用到 .*? 的搭配。
函數:
re.compile(pattrn,flags):編譯成對象,加快程序
flags:
1.re.I: 忽略大小寫
2.re.S: 不包括換行符內的所有字符
3.re.L:做本地化識別
4.re.M:匹配多行字符串
5.re.X:正則表達式為多行
re.findall(pattern, string):搜索字符串,以列表形式返回。
re.match():嘗試從字符串的開始匹配一個模式
re.search():在字符串內查找模式匹配,只到找到第一個匹配然后返回,如果字符串沒有匹配,則返回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用法(正則寫多行)
import re str="010-12345678" res=""" d{3,4} -? d{8} """ a=re.compile(res,re.X) print a.findall(str)
re.search():一般是用來查詢文件中是否有我們想要的字符串,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)寫一個簡單的下載貼吧圖片小爬蟲
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)
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/37630.html
摘要:講點搞笑的,最近在開發時,發現最令程序猿頭疼的一點就是沒有語句。但自動的僵尸呢哎,別急,那是后話下集預告下次,我要把游戲變得全自動具體工作令僵尸自動出現,和讓用戶用命令控制游戲這些工作完成后,就可以發布了歡迎繼續關注 嗯,還是我,我又回來了——以后文章就兩天一篇吧。講點搞笑的,最近在開發v1.1 beta 3時,發現Python最令程序猿頭疼的一點就是沒有switch/case語句。要...
摘要:在這里真心感謝一直在支持我的那幾個粉絲,謝謝你們的持續關注點贊。果然,第三個包也是按的步差來的,而為零不變,也不變。函數里面的話就是個循環咯,當條件不滿足時就一直加,知道條件滿足為止。我每天都會抽時間給我的粉絲解答,給與一些學習資源。 目錄 前言 準備工作 分析(x0) 分析(x1) 分析(...
摘要:歡迎你們跟著閏土大叔走進時代。其中購買數量可以增加或減少,每類商品還可以從購物車中移除。后記這大概就是一次用重構電商項目中的購物車模塊的所有實現過程。作者閏土大叔鏈接來源掘金著作權歸作者所有。 前言 從這篇文章開始,我準備給大家分享一些關于Vue.js這門框架的技巧性系列文章,正好我們公司項目中也用到了Vue。所以,教是最好的學。進階篇比較適合于二三線城市,還在小廠打拼的童鞋們。歡迎你...
摘要:允許你追蹤目標元素與其祖先元素或視窗的交叉狀態。此外,盡管只有一部分元素出現在視窗中,哪怕只有一像素,也可以選擇觸發回調函數。即只有線程空閑下來,才會執行觀察器。 允許你追蹤目標元素與其祖先元素或視窗的交叉狀態。此外,盡管只有一部分元素出現在視窗中,哪怕只有一像素,也可以選擇觸發回調函數。 IntersectionObserver 為什么需要它 ? 在我們需要監聽目標元素是否進入視口時...
閱讀 1353·2023-04-26 00:35
閱讀 2723·2023-04-25 18:32
閱讀 3370·2021-11-24 11:14
閱讀 780·2021-11-22 15:24
閱讀 1428·2021-11-18 10:07
閱讀 6535·2021-09-22 10:57
閱讀 2782·2021-09-07 09:58
閱讀 3572·2019-08-30 15:54