1.分支結構
例:
代碼設計:css
# -*- coding:utf-8 -*- x=int(raw_input("輸入x值:")) if x<=0: f=x**2 print f else: f=x**3 print f
三段以上條件則:if,elif,elsehtml
2.循環結構
range(起始值,終止值,步長)python
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)url
代碼實例:
spa
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:正則表達式爲多行code
re.findall(pattern, string):搜索字符串,以列表形式返回。
re.match():嘗試從字符串的開始匹配一個模式
re.search():在字符串內查找模式匹配,只到找到第一個匹配而後返回,若是字符串沒有匹配,則返回None。
re.sub():替換。
re.split():切割。htm
例:
re.S的用法(匹配\n,\t之類的換行符)
import re str="abc\noooass" 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), '\n', 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)