首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python 学习手册
Python Cookbook
Python 基础教程
Python Sites
PyPI - Python Package Index
http://www.simple-is-better.com/
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
V2EX  ›  Python

看廖雪峰的 Python 教程 关于这一段有不懂啊,求帮助, thanks~

  •  
  •   larry618 · 2015-07-16 20:55:25 +08:00 · 4238 次点击
    这是一个创建于 1500 天前的主题,其中的信息可能已经有所发展或是发生改变。
    def _odd_iter():
    n = 1
    while True:
    n = n + 2
    yield n

    def _not_divisible(n):
    return lambda x: x % n > 0

    def primes():
    yield 2
    it = _odd_iter()
    while True:
    n = next(it)
    yield n
    it = filter(_not_divisible(n), it) # 这里不懂:filter()不是把_not_divisible(n)返回的函数依次作用于it的每个元素上吗? it不是一个无限序列吗?filter()是什么时候执行结束的??

    for n in primes():
    if n < 1000:
    print(n)
    else:
    break

    求帮助,求解答!!
    22 回复  |  直到 2018-08-26 19:00:50 +08:00
        1
    hitsmaxft   2015-07-16 21:58:35 +08:00
    for n in primes():
    if n < 1000:
    print(n)
    else:
    break # 看这里。

    你得看看 yied 语法和 generator 的关系
        2
    kxxoling   2015-07-16 22:27:18 +08:00
    看了你的两个问题,我想说别看在线教程,廖雪峰的 Python 写得并不怎么样。啄木鸟论坛有几本开源书籍,写得都挺好,建议你还是拿本书来看。最后,贴这种格式的 Python 代码真让人无语。
        3
    wangyongbo   2015-07-16 22:45:30 +08:00
    没有缩进真的很难看明白。

    看代码知道你用的应该是Python3
    python3 里的 filter 返回的也是一个可迭代的对象,所以你这个代码,调用filter 的时候并没有立刻计算出结果,只是需要的时候,才会算出来一个。
        4
    Ironsongming   2015-07-16 23:54:35 +08:00
    @kxxoling 没有缩进的python能叫python?
        5
    yuankui   2015-07-17 00:16:07 +08:00
    同学,多看看书
    这种问题问多了,容易被拉黑,切记切记...
        6
    nevin47   2015-07-17 00:19:22 +08:00
    只想说……点进来一看代码整个人就炸了
    def _odd_iter():
    n = 1
    while True:
    n = n + 2
    yield n

    写成这样多舒服……
        7
    nevin47   2015-07-17 00:20:17 +08:00
    卧槽,打脸了……
    说好的V站支持Markdown呢……四空格的代码引用为何没了……
        8
    slayerdoomsday   2015-07-17 00:23:16 +08:00
    楼上的也是醉了。。
        9
    nevin47   2015-07-17 00:24:59 +08:00
    @slayerdoomsday 别嘲笑我……我已经给自己醉了……
    但是我还是想知道为什么不支持代码引用……
        10
    itommy   2015-07-17 00:36:51 +08:00
    贴代码都用这个吧
    https://gist.github.com
        11
    gilgamesh   2015-07-17 00:57:57 +08:00 via Android
    @nevin47 请用三个反引号
        12
    gilgamesh   2015-07-17 00:58:37 +08:00 via Android
    @itommy 而且评论只支持 gist 代码……
        13
    gilgamesh   2015-07-17 00:59:01 +08:00 via Android
    手抖楼上@错了
        14
    USCONAN   2015-07-17 01:12:40 +08:00
    。。。你們可以的
    花樣演示 V2EX 的正確使用方法。。。
        15
    loveuqian   2015-07-17 01:28:24 +08:00
    ```objc
    - (void)scrollViewDidEndDragging:(nonnull UIScrollView *)scrollView
    willDecelerate:(BOOL)decelerate
    {
    if (NO == decelerate) {
    [self scrollViewDidEndDecelerating:scrollView];
    }
    }
    ```
    OC代码乱入,试下 markdown
        16
    loveuqian   2015-07-17 01:28:34 +08:00
    坑爹。。还是睡了。。。
        17
    zerh925   2015-07-17 08:30:24 +08:00
    笑死我了,评论比帖子本身好看系列
        18
    falcon05   2015-07-17 09:15:25 +08:00 via iPhone
    居然没有一个贴对的…😂
        19
    KwenString   2015-07-17 16:02:12 +08:00
    有感为什么python社区没有建立一个类似ruby-china的地方
        20
    hellozzz   2015-07-18 12:35:20 +08:00
    这本书练习熟练了能找到多少钱的python初级开发呢
        21
    supermaryy   2018-06-25 23:34:43 +08:00
    可以挖坟吗?题主的问题我也遇到了,没有懂,谁来解释一下
        22
    darktutu   363 天前
    @supermaryy 哈哈 又来了一个哈哈
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   1550 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 22ms · UTC 16:50 · PVG 00:50 · LAX 09:50 · JFK 12:50
    ♥ Do have faith in what you're doing.