老师,这方法有什么优势吗,看着好像没count方法好用
使用分组跟老师敲一样的代码,为什么结果不是None呢
#匹配出网页标签内的数据 <html><title></title></html> # pattern = r'<.+><.+>.+<.+><.+>' #使用这种情况,如果前后不是对称的也是能匹配成功的 pattern = r'<(.+)><(.+)>.+</\2></\1>' # s = '<html><title>我是标签</title></html>' s = "<html><h1>我是标签</header></body>" #如果不用分组这样非网页标签也会被匹配 v = re.match(pattern,s) print(s)
结果如下:
1556937571(1).jpg
写一个函数,里面同时调用日记函数和想要调的另一个函数,不是也可以实现吗?
闭关在这里有什么优势
老师,我这里去调用这个装饰器,但是后台会报错
time (func): : file=(=) file.write(func.) file.write() file.write(time.asctime()) file.write() e: (e.args) : file.close() (func): (): writelog(func) func() funcin() (): () (): () func1() func2()
图片里新版本这里错在哪里了呢?
请问实际运行的顺序是这样吗
老师,能帮我看下我这有什么问题吗,为什么一运行创建两个文件,对功能1和功能2分别写入
import time def write_log(file_name,func_name): try: file = open(file_name, 'a', encoding='utf-8') useTime = time.ctime() useEvent = func_name connect = useEvent+'\t'+useTime+'\n' file.write(connect) except Exception as e: print(e.args) finally: file.close() def func1(): write_log('log.txt', 'func1') print('我是功能1') def func2(): write_log('log,txt', 'func2') print('我是功能2') func1() func2()
代码:
import re pattern="(\d+$)-(\d{8,10}$)" s="010-980451762" v=re.match(pattern,s) print(v)
问题:
老师请问一下,我在pattern的两个分组中都加了结尾符$,这个时候返回的结果是None,为什么我把结尾符去了就可以匹配了呢?麻烦老师给我解释一下里面的原因?
既然sum可以替代那这个函数的优势在哪?
一、代码
# 匹配qq邮箱 import re # $表示结尾限制 pattern = r'[1-9]\d{4, 9}@qq.com$' s = '12345@qq.com' v = re.match(pattern, s) print(v)
二、运行结果
三、疑问
老师请问,我这个为什么运行结果是None,把花括号里边的{4,9}改成{4}就可以了
这样就已经可以访问a的值了,为什么还要在inner函数里加nonlocal a呢?是什么意思呢?
不清楚哪里写错了
class MyNumbers(): def __iter__(self): self.num = 10 return self def __next__(self): if self.num < 40: x = self.num self.num += 10 return x else: raise StopIteration #创建实例 myclass = MyNumbers() myclass.__iter__() print(myclass.__next__()) print(myclass.__next__()) print(myclass.__next__()) print(myclass.__next__())
老师,为啥不用我上面写的实例名.__iter__()和实例名.__next__()的方法调用迭代器呀,要用iter(myclass)和next(myiter)这种呢,两种出来的结果都是一样的啊
paae1 = str_3= d = re.match(paae1str_3) (d)
paae1 = r'(?P<key1>.+)(?P<key2>a)vvvv(?P=key1)(?P=key1)(?P=key1)(?P=key2)' str_3= 'cavvvvccca' d = re.match(paae1,str_3) print(d)
1.使用多分组匹配字符时,只需名字对应的内容一直即可,并不需要前后一直,例如课堂所讲
按照视频里敲的,这里错在哪里了呢?
非常抱歉给您带来不好的体验!为了更深入的了解您的学习情况以及遇到的问题,您可以直接拨打投诉热线:
我们将在第一时间处理好您的问题!
关于
课程分类
百战程序员微信公众号
百战程序员微信小程序
©2014-2025百战汇智(北京)科技有限公司 All Rights Reserved 北京亦庄经济开发区科创十四街 赛蒂国际工业园网站维护:百战汇智(北京)科技有限公司 京公网安备 11011402011233号 京ICP备18060230号-3 营业执照 经营许可证:京B2-20212637