摘要:函数编译成对象,加快程序忽略大小写不包括换行符内的所有字符做本地化识别匹配多行字符串正则表达式为多行搜索字符串,以列表形式返回。
运算符 类型
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)
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/37630.html
摘要:讲点搞笑的,最近在开发时,发现最令程序猿头疼的一点就是没有语句。但自动的僵尸呢哎,别急,那是后话下集预告下次,我要把游戏变得全自动具体工作令僵尸自动出现,和让用户用命令控制游戏这些工作完成后,就可以发布了欢迎继续关注 嗯,还是我,我又回来了——以后文章就两天一篇吧。讲点搞笑的,最近在开发v1.1 beta 3时,发现Python最令程序猿头疼的一点就是没有switch/case语句。要...
摘要:在这里真心感谢一直在支持我的那几个粉丝,谢谢你们的持续关注点赞。果然,第三个包也是按的步差来的,而为零不变,也不变。函数里面的话就是个循环咯,当条件不满足时就一直加,知道条件满足为止。我每天都会抽时间给我的粉丝解答,给与一些学习资源。 目录 前言 准备工作 分析(x0) 分析(x1) 分析(...
摘要:欢迎你们跟着闰土大叔走进时代。其中购买数量可以增加或减少,每类商品还可以从购物车中移除。后记这大概就是一次用重构电商项目中的购物车模块的所有实现过程。作者闰土大叔链接来源掘金著作权归作者所有。 前言 从这篇文章开始,我准备给大家分享一些关于Vue.js这门框架的技巧性系列文章,正好我们公司项目中也用到了Vue。所以,教是最好的学。进阶篇比较适合于二三线城市,还在小厂打拼的童鞋们。欢迎你...
摘要:允许你追踪目标元素与其祖先元素或视窗的交叉状态。此外,尽管只有一部分元素出现在视窗中,哪怕只有一像素,也可以选择触发回调函数。即只有线程空闲下来,才会执行观察器。 允许你追踪目标元素与其祖先元素或视窗的交叉状态。此外,尽管只有一部分元素出现在视窗中,哪怕只有一像素,也可以选择触发回调函数。 IntersectionObserver 为什么需要它 ? 在我们需要监听目标元素是否进入视口时...
阅读 1344·2023-04-26 00:35
阅读 2714·2023-04-25 18:32
阅读 3344·2021-11-24 11:14
阅读 770·2021-11-22 15:24
阅读 1417·2021-11-18 10:07
阅读 6466·2021-09-22 10:57
阅读 2773·2021-09-07 09:58
阅读 3565·2019-08-30 15:54