老师我不太懂这个wraps函数的意义在哪? 因为既然我用了闭包和装饰器,我一定是想在不修改源码的情况下进行增加新功能从而改变结果。然后现在是我在用了闭包和装饰器的前提下,又添加了wraps函数,把结果又变回去了?
而且这个函数是用在将原函数对象的指定属性复制给包装函数对象,是不是意思基本就只能在闭包中使用?
我是学员姜兴涛,刚才的问题已经解决了,不好意思,添麻烦了。我把闭包的返回名称写成方法了,多加了一个括号。已经改过来了。
代码和视频的一样,报错了?
import time def writelog(fun): try: file = open("log.txt","a",encoding="utf-8")#a代表追加的意思,避免新文件进行覆盖 #写入相关数据信息(访问的函数名,访问的时间) file.write(fun.__name__) file.write("\t")#制表符 #写入时间 file.write(time.asctime()) file.write("\n") except Exception as e: print(e.args) finally: file.close() #闭包 def funcout(func): def funcin(): #新增功能 writelog(func) func() return funcin() def fun1(): print("我是功能1") def fun2(): print("我是功能2") #闭包的调用,不修改源码的情况下调用了日志功能 fun1 = funcout(fun1) fun2 = funcout(fun2) fun1() fun2()
def __new__(cls, *args, **kwargs): print("new") return super(AA,cls).__new__(cls)
老师,这个new的含义我还是没懂,必须有个返回值吗,返回的是父类的什么
re v = re.split(, ) (v)
老师,
r',|-|:'
这个最后为什么要加':'呢,前面为什么没有':’呢
用sum()函数求数列的和不是更简单吗?
想请教一下老师,关于生成器和迭代器的区别,个人理解的部分是否正确?(1)序列具有可迭代性,(2)生成器和迭代器都是可迭代对象,(3)所有的生成器都是迭代器,而所有的迭代器却不一定生成器(4)个人理解:生成器是一种逻辑表达,就像生产图纸,它是一种惰性计算,不预算,不预存,序列长度未知,直到最后一个报错为止 迭代器是不是已经预先保存所有迭代的地址,它是已经生成的吗?已经存在的吗?序列长度也是已知的吗? 简单说迭代器是已经计算完成并保存了,因为已经实体(所有迭代的内存地址)已经存在?内容和长度是已知的, 而生成器是完成了一个计算公式,因此实体(需要一个就通过公式获取一个)不存在,内容和长度是未知的?
老师你好:
我有点疑问,感觉是对的,又不敢确定,向老师求证
老师你好,
我简化了一下老师的说法,
不知道对不对,向老师求证一下
3、 a)简单说就是重新赋值调用,把调用导向闭包的外部函数,然后闭包的内部函数(或先或后)执行完新任务, b)由于原来要调用的函数,被当成参数传递了进来,所以闭包外部函数的参数被调用时,等于是把原本应该执行的调用执行了一下 c)这样就可以不改变别人的代码,插入自己的新任务,又能执行原本的任务、
为什么找不到math 模块,没有创建相同名的文件
老师我这个python版本用time.clock()显示报错,要用time.process_time()吗?
问题:match()函数是否有匹配长度显示,下面的例子为什么匹配不完整?
谢谢老师!
运行结果:
这个偏函数的原理是什么呢?除了重新定义一个int,用在其他地方又该怎么用?比如其他数字类型的转换等等?
不修改源码,但是老师删掉了下面两行代码中间的writeLog()函数调用
def func1(): writeLog(func1) print('我是功能1')
使用分组跟老师敲一样的代码,为什么结果不是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
非常抱歉给您带来不好的体验!为了更深入的了解您的学习情况以及遇到的问题,您可以直接拨打投诉热线:
我们将在第一时间处理好您的问题!
关于
课程分类
百战程序员微信公众号
百战程序员微信小程序
©2014-2025百战汇智(北京)科技有限公司 All Rights Reserved 北京亦庄经济开发区科创十四街 赛蒂国际工业园网站维护:百战汇智(北京)科技有限公司 京公网安备 11011402011233号 京ICP备18060230号-3 营业执照 经营许可证:京B2-20212637