Python中return和yield的区别,面试官不讲武德

简介: Python中return和yield的区别,面试官不讲武德

示例代码如下:

class TestYield:
def gen_iterator(self):
result_list = []
for j in range(3):
print(f"gen_iterator-{j}")
result_list.append(j)

return在循环的外部,待变量完全生成后一次性返回

return result_list
def call_gen_iterator(self):

执行下边这句后result_list直接是完成的结果[0,1,2]

result_list = self.gen_iterator()
for i in result_list:
print(f"call_gen_iterator-{i}")
if name == “main”:
obj = TestYield()
obj.call_gen_iterator()

执行结果如下,可以看到一次性执行完下层函数,生成完整的迭代器类型返回值result_list,一次性返回给上层函数:

2 yield版本

示例代码如下:

‘’’

遇到问题没人解答?小编创建了一个Python学习交流QQ群:778463939

寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!

‘’’
class TestYield:
def gen_iterator(self):
for j in range(3):
print(f"do_something-{j}")

yield在for循环内部

yield j

def call_gen_iterator(self):

yield并不是直接返回[0,1,2],执行下边这句后result_list什么值都没有

result_list = self.gen_iterator()

i每请求一个数据,才会触发gen_iterator生成一个数据

for i in result_list:
print(f"call_gen_iterator-{i}")
if name == “main”:
obj = TestYield()

一、Python所有方向的学习路线

Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照下面的知识点去找对应的学习资源,保证自己学得较为全面。

二、Python必备开发工具

工具都帮大家整理好了,安装就可直接上手!

三、最新Python学习笔记

当我学到一定基础,有自己的理解能力的时候,会去阅读一些前辈整理的书籍或者手写的笔记资料,这些笔记详细记载了他们对一些技术点的理解,这些理解是比较独到,可以学到不一样的思路。

四、Python视频合集

观看全面零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。

五、实战案例

纸上得来终觉浅,要学会跟着视频一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

六、面试宝典

简历模板


相关文章
|
5天前
|
存储 大数据 数据处理
Python 中的列表推导式与生成器:特性、用途与区别
Python 中的列表推导式与生成器:特性、用途与区别
12 2
|
6天前
|
存储 C语言 Python
解密 Python 的变量和对象,它们之间有什么区别和联系呢?
解密 Python 的变量和对象,它们之间有什么区别和联系呢?
14 2
|
16天前
|
存储 Python
Python中类方法、实例方法与静态方法的区别
这三种方法的正确使用可以使代码更加清晰、组织良好并且易于理解,从而有效地支持软件开发的面向对象编程范式。
13 1
|
27天前
|
Python
全网最适合入门的面向对象编程教程:Python函数方法与接口-函数与方法的区别和lamda匿名函数
【9月更文挑战第15天】在 Python 中,函数与方法有所区别:函数是独立的代码块,可通过函数名直接调用,不依赖特定类或对象;方法则是与类或对象关联的函数,通常在类内部定义并通过对象调用。Lambda 函数是一种简洁的匿名函数定义方式,常用于简单的操作或作为其他函数的参数。根据需求,可选择使用函数、方法或 lambda 函数来实现代码逻辑。
|
28天前
|
机器学习/深度学习 人工智能 安全
python和Java的区别以及特性
Python:适合快速开发、易于维护、学习成本低、灵活高效。如果你需要快速上手,写脚本、数据处理、做点机器学习,Python就是你的首选。 Java:适合大型项目、企业级应用,性能要求较高的场景。它类型安全、跨平台能力强,而且有丰富的生态,适合更复杂和规模化的开发。
34 3
|
14天前
|
存储 编译器 Linux
Cython 和 Python 的区别
Cython 和 Python 的区别
20 0
|
15天前
|
Python
Python中类属性与实例属性的区别
了解这些区别对于编写高效、易维护的Python代码至关重要。正确地使用类属性和实例属性不仅能帮助我们更好地组织代码,还能提高代码运行的效率。
10 0
|
2天前
|
人工智能 数据挖掘 Serverless
探索Python编程:从基础到实战
【10月更文挑战第2天】本文将带你走进Python的世界,了解它的基本语法、数据结构、函数等核心概念,并通过实例演示如何应用这些知识解决实际问题。无论你是编程新手还是有一定经验的开发者,都能在这篇文章中找到有价值的内容。让我们一起开启Python编程之旅吧!
|
2天前
|
机器学习/深度学习 存储 数据挖掘
探索Python编程之美:从基础到进阶的旅程
【10月更文挑战第2天】本文旨在通过浅显易懂的方式,带领读者走进Python编程的世界。我们将从Python的基础语法开始,逐步深入到面向对象编程、异常处理等高级主题,最后探讨如何将Python应用于实际项目中。无论你是编程新手还是有一定基础的开发者,这篇文章都将为你提供有价值的见解和实用的技巧。
|
1天前
|
开发者 Python
Python 语法糖:让编程更简单
Python 语法糖:让编程更简单
14 3