Python的一些小知识点_11


Python中的yield关键字
搜索关键字:

site:stackoverflow.com python yield

参考链接:

==

在同一个函数中使用了return和yield之后还算是一个generator么?

http://stackoverflow.com/questions/26595895/return-and-yield-in-the-same-function

算;在Python的function中return和yield关键字的作用几乎等价(但个人建议还是建议不要混着来)

The return is (almost) equivalent to raising StopIteration.

==

生成器表达式和yield关键字

http://stackoverflow.com/questions/1995418/python-generator-expression-vs-yield

大体上说是yield关键字的更快,而且能处理更复杂的情况;但是,具体情况具体分析不是——根据实际情况运用不同的方法,在对性能要求不是特别高的情况下怎么方便怎么来。

==

Python中的三元运算符
x if y else z    #如果y为真,则x;否则为z

==

Python的列表推导式(list comprehension)的效率

搜索关键字:site:stackoverflow.com python list comprehension efficiency

, ,

《 “Python的一些小知识点_11” 》 有 2 条评论

  1. 摘录
    http://ialloc.org/posts/2017/09/03/fluentpython-notes/
    `
    要不这样吧,如果编程语言里有个地方你弄不明白,而正好又有个人用了这个功能,那就开枪把他打死。这比学习新特性要容易些,然后过不了多久,那些活下来的程序员就会开始用 0.9.6 版的 Python,而且他们只需要使用这个版本中易于理解的那一小部分就好了。
    —— Tim Peters,传奇的核心开发者,“Python 之禅” 作者

    人们总是倾向于寻求自己熟悉的东西。受到其他语言的影响,你大概能猜到 Python 会支持正则表达式,然后就会去查阅文档。但是如果你从没见过元组拆包,也没 听说过描述符这个概念,那么估计你也不会特地去搜索它们,然后就永远失去了使用这些 Python 独有的特性的机会 …… 这本书并不是一本完备的技术手册,而是会强调 Python 作用编程语言独有的特性,这些特性或者是只有 Python 才具备的,或者是在其他大众语 言里很少见的。
    `

  2. Python中的三元操作符
    `
    为真时的结果 if 判定条件 else 为假时的结果

    In [259]: x,y = 3987,24361

    In [260]: x
    Out[260]: 3987

    In [261]: y
    Out[261]: 24361

    In [262]: small = x if x<y else y

    In [263]: small
    Out[263]: 3987
    `

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注