运算符
类型

程序结构1.分支结构 例:
 代码设计:
x=int(raw_input("输入x值:"))
if x<=0:
f=x**2
print f
else:
f=x**3
print f
三段以上条件则:if,elif,else range(0,20)
例:打印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
if x==4:
print x,"233333"
break
print x,"I want to eat"
正则表达式作用:字符串(str)匹配模式(re) 代码实例:
 import re
str='abc,afc,amc,aic,^abc'
res=r'a[bf]c'
print re.findall(res,str)
res=r'a[^bf]c'
res=r'\^abc'
res=r'ab+'
res=r'ab*'
str='010-123456789'
res=r'010-?\d{8}'
贪婪模式:尽可能大的匹配。 非贪婪模式:.? 是一个固定的搭配,.和代表可以匹配任意无限多个字符,加上?表示使用非贪婪模式进行匹配,也就是我们会尽可能短地做匹配,以后我们还会大量用到 .*? 的搭配。 re.findall(pattern, string):搜索字符串,以列表形式返回。 re.match():尝试从字符串的开始匹配一个模式 re.search():在字符串内查找模式匹配,只到找到第一个匹配然后返回,如果字符串没有匹配,则返回None。 re.sub():替换。 re.split():切割。 例: 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)
|