gpt4 book ai didi

python - 从 2014 年的新年挑战中理解这段 Python 代码

转载 作者:太空宇宙 更新时间:2023-11-03 12:39:23 25 4
gpt4 key购买 nike

我刚刚浏览了这个页面 here并找到了这个条目:

print sum(ord(c) for c in 'Happy new year to you!')

这是 python 代码,执行时会打印 2014。有人可以帮助 Java 开发人员准确了解这里发生了什么吗?

最佳答案

需要理解的几件事:

  • 字符串默认是可迭代的,因此可以简单地迭代字符串中的每个元素:

    for c in 'Hello there':
    print c
  • ord 是一个内置函数,可返回字符的实际数字代码点。

  • 表达式 ord(c) for c in 'Happy new year to you!'generator expression .其结果返回一个生成器函数,该函数在随后调用 __next__() 时检索整个生成器表达式的结果。这既发生在我们的幕后,又是以懒惰的方式完成的;如果未调用 __next__() 片段,则不会生成下一个值。如果您要生成的表达式包含很多值,这将很有用。

    这实际上是代码片段的症结所在;它表达了一些必须以更简洁的方式用 Java 更笨拙地编写的东西。

  • sum 将列表作为参数并返回其内容的总数值。

关于python - 从 2014 年的新年挑战中理解这段 Python 代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27728472/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com