前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Tweet-w1704

Tweet-w1704

作者头像
青南
发布2019-01-09 15:35:17
4900
发布2019-01-09 15:35:17
举报
文章被收录于专栏:未闻Code未闻Code

2017.01

在Python中,使用yield实现生成器。生成器的性质是只有在被迭代的时候才运行其内部的代码。这样可以大大降低内存的占用。除此之外,yield还可以接收参数供生成器内部使用。

代码语言:javascript
复制
def generator(top):
       index = 0
       while index <= top:
              value_from_out = yield index ** 2
              print('来自外面的值为:{}'.format(value_from_out))
              index += 1power_2 = generator(10)
print(next(power_2))
print(next(power_2))
print(power_2.send("next(power_2) 相当于power_2.send(None)"))
print(next(power_2))
print(power_2.send('代码在函数和这里来回跳。'))

输出结果为:

代码语言:javascript
复制
0
来自外面的值为:None
1
来自外面的值为:next(power_2) 相当于power_2.send(None)
4
来自外面的值为:None
9
来自外面的值为:代码在函数和这里来回跳。
16

以上的运行方式,和协程非常的相似。


逆波兰式通过栈来实现对表达式的运算。例如:

中缀表达式: 5 + ((1 + 2) 4) − 3 逆波兰式:5 1 2 + 4 + 3 −


使用调度场算法可以将中缀表达式转换为逆波兰式。调度场算法是通过栈来实现的。操作数直接输出,符号需要判断优先级来判断应该直接压栈还是直接输出或者应该先将栈顶元素输出再压栈。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2017-01-22,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 未闻Code 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 2017.01
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档