python高级

 

 这上面这个就是将1到10的数据全部输入

 

 每次返回的都是2

 

第三个执行不了,不晓得咋搞

 

 

 

 第四个就是这个

 

 这是输出的代码

相当于一个for嵌套一个for

 

 这就是一个生成器

生成器的值无法直接取出,必须要用next方法来取

 

生成器与正常的区别就是最外层的那个括号,如果是中括号那就证明不是生成器,反之就是生成器

 

 这就是取出的方法

 

ps:在这里我需要插一句,就是假如你使用的编译器是

 

 这个玩意的话,你的输出语句就必须添加上print(),跟写c一样。。但是好处也是有的拉

 

 

#生成关键字yield,有yield的关键字的代码块就是yield的生成器。当运行到yield时代码就会停止,并返回运行结果,当在次运行时依旧是到yield停止,并返回结果。 切记:生成器只能使用next方法。

上面那个我有点不理解啊

yield相当于一个生成器,所以将其放在一起来讲,但是与普通的生成器比起来他的不同之处就是他是放在函数里面的而并非是放在外面进行调用的

 

yield类似于return函数,他们主要的区别就是:遇到return会直接返回值,不会执行接下来的语句.但是yield并不是,在本次迭代返回之后,yield函数在下一次迭代时,从上一次迭代遇到的yield后面的代码(下一行)开始执行

 

!!!!这不就是区别了吗,不愧是python,轻而易举就。。。。。

我试试哈

算了我玩不来

但是我明白了一件事,那就是含有这个函数的函数的输出就一定需要用next方法

。。。

脑瓜子嗡嗡,明天再战!!

posted @   湖南陈冠希  阅读(35)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 字符编码:从基础到乱码解决
点击右上角即可分享
微信分享提示