业界动态
Python小白项目体系练习500例(附源代码),练完可就业
2024-11-18 22:58

76.递归函数停止的条件

Python小白项目体系练习500例(附源代码),练完可就业

递归的终止条件一般定义在递归函数内部,在递归调用前要做一个条件判断,根据判断的结果选择是继续调用自身,还是return,返回终止递归。

终止的条件:判断递归的次数是否达到某一限定值

2.判断运算的结果是否达到某个范围等,根据设计的目的来选择

77.下面这段代码的输出结果将是什么?请解释。

 

上面代码的输出结果是[6,6,6,6],不是我们想的[0,2,4,6]

你如何修改上面的multipliers的定义产生想要的结果

上述问题产生的原因是python闭包的延迟绑定。这意味着内部函数被调用时,参数的值在闭包内进行查找。因此,当任何由multipliers()返回的函数被调用时,i的值将在附近的范围进行查找。那时,不管返回的函数是否被调用,for循环已经完成,i被赋予了最终的值3.

 
 

78.什么是lambda函数?它有什么好处?写一个匿名函数求两个数的 和

lambda函数是匿名函数,使用lambda函数能创建小型匿名函数,这种函数得名于省略了用def声明函数的标准步骤

79.对设计模式的理解,简述你了解的设计模式

设计模式是经过总结,优化的,对我们经常会碰到的一些编程问题的可重用解决方案。一个设计模式并不像一个类或一个库那样能够直接作用于我们的代码,反之,设计模式更为高级,它是一种必须在特定情形下实现的一种方法模板。

常见的是工厂模式和单例模式

80.请手写一个单例

在这里插入图片描述 81.单例模式的应用场景有那些

单例模式应用的场景一般发现在以下条件下: 资源共享的情况下,避免由于资源操作时导致的性能或损耗等,如日志文件,应用配置。 控制资源的情况下,方便资源之间的互相通信。如线程池等

1,网站的计数器 2,应用配置 3.多线程池 4数据库配置 数据库连接池 5.应用程序的日志应用…

82.用一行代码生成[1,4,9,16,25,36,49,64,81,100]

 

83.对装饰器的理解,并写出一个计时器记录方法执行性能的装饰 器

装饰器本质上是一个callable object ,它可以让其他函数在不需要做任何代码变动的前提下增加额外功能,装饰器的返回值也是一个函数对象。

在这里插入图片描述 84.解释以下什么是闭包

在函数内部再定义一个函数,并且这个函数用到了外边函数的变量,那么将这个函数以及用到的一些变量称之为闭包。

85.函数装饰器有什么作用

装饰器本质上是一个callable object,它可以在让其他函数在不需要做任何代码的变动的前提下增加额外的功能。装饰器的返回值也是一个函数的对象,它经常用于有切面需求的场景。比如:插入日志,性能测试,事务处理,缓存。权限的校验等场景,有了装饰器就可以抽离出大量的与函数功能本身无关的雷同代码并发并继续使用。

详细参考:https://manjusaka.itscoder.com/2018/02/23/something-about-decorator/

86.生成器,迭代器的区别

迭代器是遵循迭代协议的对象。用户可以使用 iter() 以从任何序列得到迭代器(如 list, tuple,dictionary, set 等)。另一个方法则是创建一个另一种形式的迭代器 —— generator 。要获取下一个元素,则使用成员函数 next()(Python 2)或函数 next() function (Python 3) 。当没有元素时,则引发 StopIteration 此例外。若要实现自己的迭代器,则只要实现 next()(Python 2)或 next ()(Python 3

生成器(Generator,只是在需要返回数据的时候使用yield语句。每次next()被调用时,生成器会返回它脱离的位置(它记忆语句最后一次执行的位置和所有的数据值

区别: 生成器能做到迭代器能做的所有事,而且因为自动创建iter()和next()方法,生成器显得特别简洁,而且生成器也是高效的,使用生成器表达式取代列表解析可以同时节省内存。除了创建和保存程序状态的自动方法,当发生器终结时,还会自动抛出StopIteration异常。

官方介绍:https://docs.python.org/3/tutorial/classes.html#iterators

87.X是什么类型?

 

88.请用一行代码 实现将1-N 的整数列表以3为单位分组

 

89.Python中yield的用法?

yield就是保存当前程序执行状态。你用for循环的时候,每次取一个元素的时候就会计算一次。用yield的函数叫generator,和iterator一样,它的好处是不用一次计算所有元素,而是用一次算一次,可以节省很多空间,generator每次计算需要上一次计算结果,所以用yield,否则一return,上次计算结果就没了

90.Python中的可变对象和不可变对象

不可变对象,该对象所指向的内存中的值不能被改变。当改变某个变量时候,由于其所指的值不能被改变,相当于把原来的值复制一份后再改变,这会开辟一个新的地址,变量再指向这个新的地址。

可变对象,该对象所指向的内存中的值可以被改变。变量(准确的说是引用)改变后,实际上其所指的值直接发生改变,并没有发生复制行为,也没有开辟出新的地址,通俗点说就是原地改变。

Pyhton中,数值类型(int 和float),字符串str、元祖tuple都是不可变类型。而列表list、字典dict、集合set是可变类型

91.Python的魔法方法

魔法方法就是可以给你的类增加魔力的特殊方法,如果你的对象实现(重载)了这些方法中的某一个,那么这个方法就会在特殊的情况下被Python所调用,你可以定义自己想要的行为,而这一切都是自动发生的,它们经常是两个下划线包围来命名的(比如 init_ , len ),Python的魔法方法是非常强大的所以了解其使用方法也变得尤为重要!

init 构造器,当一个实例被创建的时候初始化的方法,但是它并不是实例化调用的第一个方法。 new 才是实例化对象调用的第一个方法,它只取下cls参数,并把其他参数传给 init_ . new 很少使用,但是也有它适合的场景,尤其是当类继承自一个像元祖或者字符串这样不经常改变的类型的时候。 call 让一个类的实例像函数一样被调用 getitem 定义获取容器中指定元素的行为,相当于self[key] getattr 定义当用户试图访问一个不存在属性的时候的行为。 setattr 定义当一个属性被设置的时候的行为 getattribute 定义当一个属性被访问的时候的行为

92.面向对象中怎么实现只读属性?

将对象私有化,通过共有方法提供一个读取数据的接口

在这里插入图片描述 最好的方法

在这里插入图片描述 93.谈谈你对面向对象的理解

面向对象是相当于面向过程而言的,面向过程语言是一种基于功能分析的,以算法为中心的程序设计方法,而面向对象是一种基于结构分析的,以数据为中心的程序设计思想。在面向对象语言中有一个很重要的东西,叫做类。面向对象有三大特性:封装、继承、多态。

94.请写出一段代码用正则匹配出ip 95.a = “abbbccc”,用正则匹配为abccc,不管有多少b,就出现一 次

 

96.Python字符串查找和替换

在这里插入图片描述 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述 97.用Python匹配HTML tag的时候,<.> 和 <.?> 有什么区别

第一个代表贪心匹配,第二个代表非贪心

?在一般正则表达式里的语法是指的"零次或一次匹配左边的字符或表达式"相当于{0,1} 而当?后缀于*,+,?,{n},{n,},{n,m}之后,则代表非贪心匹配模式,也就是说,尽可能少的匹配左边的字 符或表达式,这里是尽可能少的匹配.(任意字符)

所以:第一种写法是,尽可能多的匹配,就是匹配到的字符串尽量长,第二中写法是尽可能少的匹配,就是匹 配到的字符串尽量短。

比如tag>tag>end,第一个会匹配tag>tag>,第二个会匹配。

98.正则表达式贪婪与非贪婪模式的区别

贪婪模式: 定义:正则表达式去匹配时,会尽量多的匹配符合条件的内容 标识符+,?,*,{n},{n,},{n,m} 匹配时,如果遇到上述标识符,代表是贪婪匹配,会尽可能多的去匹配内容

非贪婪模式: 定义:正则表达式去匹配时,会尽量少的匹配符合条件的内容 也就是说,一旦发现匹配符合要求,立马就匹 配成功,而不会继续匹配下去(除非有g,开启下一组匹配) 标识符+?,??,*?,{n}?,{n,}?,{n,m}? 可以看到,非贪婪模式的标识符很有规律,就是贪婪模式的标识符后面加上一个?

    以上就是本篇文章【Python小白项目体系练习500例(附源代码),练完可就业】的全部内容了,欢迎阅览 ! 文章地址:http://sicmodule.glev.cn/news/10086.html 
     资讯      企业新闻      行情      企业黄页      同类资讯      首页      网站地图      返回首页 歌乐夫资讯移动站 http://sicmodule.glev.cn/mobile/ , 查看更多   
最新新闻
刘强东要求京东外卖利润不高于5%
IT之家4月15日消息,据新浪科技报道,近日京东创始人、董事会主席刘强东一段2024年(去年)内部讲话流出,其中显示刘强东声称“
特朗普又发疯了!前脚免了电子产品关税,后脚又说“没人能逃脱”
特朗普又发疯了!刚点完外卖,刷到这条消息,差点没把手里的奶茶喷出来。前脚刚宣布免关税,后脚立马转身来一句“没人能逃脱”,
关税战大反转,三大盟友集体“反水”,美国财长:这不是闹着玩的
当特朗普在社交媒体上疯狂刷屏俄乌战争时,一场关乎全球经济格局的博弈正在悄然改写剧本。13天的关税战,让美国的“纸老虎”真面
"玻璃大王"换人!曹德旺竟被福建同乡击败,他的名字鲜有人知
每当提及到中国玻璃的时候,我们想到最多的应该就是曹德旺了。毕竟在他的头顶拥有着众多的光环。不论是“玻璃大王”还是“中国首
曹德旺:当我悟透这6件事,父亲已经不在人世
曹德旺,大名鼎鼎的福耀集团董事长。然而,他自小却十分贫寒。“德旺”这个名字,是他伯父给取的,寓意是:“聪明又有德,必然兴
国内首饰金价格逼近1克700元,分析称金价长期易涨难跌
钛媒体App 3月30日消息,本周,国际金价四连涨,连创历史新高,国内黄金零售市场价格也“水涨船高”。今天,国内多家品牌金店的
《浪姐6》最爽名场面曝光: 62岁叶童怼房琪! 无论是情商人品还是业务能力, 叶童都赢麻了!
事后,房琪被网友指“低情商”,掉粉无数。事件发酵后,叶童在微博发表了下面这个回应,足见她的胸襟和坦率:镜头前银发飞扬的她
闪电评论|高校课堂禁用电子产品?应寻求“禁入”与“进入”的平衡点
近日,曲阜师范大学管理学院发布通知,要求学生在课堂上不得以任何理由使用手机、电脑等电子产品一事引发争议,支持者认为绝大多
高增长下,东鹏饮料难留股东“出走的决心”?
2022年11月以来,东鹏饮料包括董监高在内的重要股东合计减持公司约2780.35万股,减持金额超50亿元投资时间网、标点财经研究员 董
原创张国荣夸她是天才,与初恋相知相爱41年,丈夫出轨8次却依然原谅
“叶童真的好奇怪,你怎样看她都不是一个非常非常漂亮的女人,但是你怎么样看她都是一个非常非常漂亮的女人。” 阅女无数的倪匡