一、程序
# 使用闭包计算两点之间的距离 import math def disout(x1, y1): def disin(x2, y2): return math.sqrt((x1-x2)**2+(y1-y2)**2) return disin disin = disout(0, 0) dis = disin(10, 10) print(dis)
二、疑问
老师请问,我的程序没有问题,我的问题是:return disin是给外部函数返回一个内部函数,不应该是disout()= disin吗?
老师看我的理解对不对,听完感觉挺绕的,在程序里面总结了一下
实际上就是传参数进去,再运行闭包的内部函数
老师请问,选中多行一起注释的快捷键是啥?
提问:
老师,在作业提取网页中的图片的链接的时候,其他同学都用了requests 模块,我们前面的章节好像没有学习这个模块吧?我怎么一点印象都没有呢?
老师:*/+/? 这些定义是不是有问题,说是前一个字符,那出现前面多个字符,怎么也可以一起匹配的呢?比如下面的例子,如果是匹配*前面的一个数字出现0次或者无限次的话,应该只匹配1 而不应该是匹配123. 是不是定义有问题呢?
""" * 匹配前一个字符出现0次或者无限次(可有可无) + 匹配前一个字符出现1次或者无限次(至少有1次) ? 匹配前一个字符串出现1次或者0次(要么1次要么没有) {m} 匹配前一个字符出现m次 {,m} 匹配前一个字符至少出现m次 {m,n} 匹配前一个字符出现m到n次 """ import re pattern = "\d*" s = "123ajdf" v = re.match(pattern,s) print(v)
老师,我想问问,运行结果中的span 要怎么去理解? Span=(0,5)是什么意思?
老师问一下 为什么用函数求两点之间的距离 我这么写没有打印出a呢
num2应该是b,f(b)怎么调用的b啊?也没有f()函数啊
intern机制就是以前说的字符串的驻留机制吗?
list和tuple等不是迭代器,为什么可以用for循环遍历
# 匹配座机 电话号码 区间号-电话号 import re #pattern = r'\d{3,4}-[1-9]\d{4,7}$' pattern = r'(\d{3,4})-([1-9]\d{4,7})$' s = '029-77365892' v = re.match(pattern,s) print(v) print(v.group(0)[2]) print(v.group(1)[2]) print(v.group(2)[0])
老师这里
print(v.group(0)[2]) # 这两个输出结果一直 验证后发现(0)和(1) 都是指区号 029 呀 print(v.group(1)[2])
我需要这样理解么 : # 不带括号匹配的就是一个整体为一组,就是group(0),里面按元组序列访问, #带上括号后分为group(0) 这里的0和1访问的一样, group(2)
有个小问题:原有功能(func1)在100个地方被调用,使用闭包加入新功能(func2),要在所有调用func1的地方替换成func2?
# coding=utf-8 def addFunc(): print('我是新增加的功能') def funcOut(func): def funcIn(x, y): addFunc() test(x, y) return funcIn @funcOut def test(a, b): print('a=%g b=%g' % (a, b)) test(1, 2)
运行结果:
老师您好 ,我比对了一下和视频中的代码 没区别,但是运行结果成了函数的递归调用了吧 一直在循环,是哪里有问题了呢
谢谢老师
这个通用是可以支持3个和3个以上吗,我看举例是0-1-2的
非常抱歉给您带来不好的体验!为了更深入的了解您的学习情况以及遇到的问题,您可以直接拨打投诉热线:
我们将在第一时间处理好您的问题!
关于
课程分类
百战程序员微信公众号
百战程序员微信小程序
©2014-2025百战汇智(北京)科技有限公司 All Rights Reserved 北京亦庄经济开发区科创十四街 赛蒂国际工业园网站维护:百战汇智(北京)科技有限公司 京公网安备 11011402011233号 京ICP备18060230号-3 营业执照 经营许可证:京B2-20212637