V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
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
larry618
V2EX  ›  Python

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

  •  
  •   larry618 · 2015-07-16 20:55:25 +08:00 · 5659 次点击
    这是一个创建于 3455 天前的主题,其中的信息可能已经有所发展或是发生改变。
    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
    hitsmaxft
        1
    hitsmaxft  
       2015-07-16 21:58:35 +08:00
    for n in primes():
    if n < 1000:
    print(n)
    else:
    break # 看这里。

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

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

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