Python 中块前的冒号的用途是什么?
例子:
if n == 0:
print "The end"
原文由 Joshua Swink 发布,翻译遵循 CC BY-SA 4.0 许可协议
Python 中块前的冒号的用途是什么?
例子:
if n == 0:
print "The end"
原文由 Joshua Swink 发布,翻译遵循 CC BY-SA 4.0 许可协议
考虑以下用 Pewprikanese 编写的从杂货店购买的物品清单。
pewkah
lalala
chunkykachoo
pewpewpew
skunkybacon
当我读到它时,我很困惑,chunkykachoo 和 pewpewpew 是一种 lalala 吗?或者,如果 chunkykachoo 和 pewpewpew 只是因为它们是特殊项目而缩进怎么办?
现在看看当我的 Pewprikanese 朋友添加一个冒号以帮助我更好地解析列表时会发生什么:(<– 像这样)
pewkah
lalala: (<-- see this colon)
chunkykachoo
pewpewpew
skunkybacon
现在很明显,chunkykachoo 和 pewpewpew 是一种 lalala。
假设有一个人开始学习 Python,这恰好是她要学习的第一门编程语言。如果没有冒号,她很可能会继续思考“这些行是缩进的,因为这些行就像特殊的项目。”,并且可能需要一段时间才能意识到这不是考虑缩进的最佳方式。
原文由 Yoo 发布,翻译遵循 CC BY-SA 2.5 许可协议
2 回答5.1k 阅读✓ 已解决
2 回答1.1k 阅读✓ 已解决
4 回答974 阅读✓ 已解决
3 回答1.1k 阅读✓ 已解决
3 回答1.2k 阅读✓ 已解决
1 回答1.7k 阅读✓ 已解决
1 回答1.2k 阅读✓ 已解决
冒号用于声明缩进块的开始。
从技术上讲,这是没有必要的;当块完成时,您可以缩进和取消缩进。然而,基于 Python 公案“显式优于隐式”(EIBTI),我相信 Guido 故意将冒号设为强制性的,因此 任何 应该 跟在缩进代码后面的语句都以冒号结尾。 (如果你在冒号后继续,它也允许单行,但这种风格没有被广泛使用。)
它还使语法感知自动缩进编辑器的工作更容易,这也在决策中得到考虑。
这个问题原来是一个 Python FAQ ,我在 这里 找到了 Guido 的答案之一: