gpt4 book ai didi

python - 在哪些情况下我可以在 python 中使用缩进?

转载 作者:行者123 更新时间:2023-11-28 18:02:33 25 4
gpt4 key购买 nike

我正在阅读 Python Language reference .

关于 lexical analysis page

Before the first line of the file is read, a single zero is pushed on the stack; this will never be popped off again. The numbers pushed on the stack will always be strictly increasing from bottom to top. At the beginning of each logical line, the line’s indentation level is compared to the top of the stack. If it is equal, nothing happens. If it is larger, it is pushed on the stack, and one INDENT token is generated.

在这里,它表示在一行上添加缩进只会将与 INDENT 关联的值添加到缩进跟踪堆栈中。


所以我尝试做与 C++ 片段等效的 python

int x = 23;
{
int y = 13;
}
int z = 2*x;

使用这个 python 片段

x = 23
y = 13
z = 2*x

但是让 python 运行这段代码会产生以下错误:

    y = 13
IndentationError: unexpected indent

所以上面的规则并不总是适用,我想知道

  • 是否有与上述 C++ 代码片段等效的 python
  • 在 python 中,什么时候可以使用缩进,除了函数和类定义等一般情况。

最佳答案

"在每个逻辑行的开始,该行的缩进级别与栈顶进行比较,如果相等,则什么都不发生。如果更大,则压入堆栈,并且一个INDENT token 是生成。”

所以在这里它会告诉您有关何时生成缩进 token 的所有信息。现在您还需要知道只有关键字 class、def、if、for、while 等允许您拥有额外的当前缩进标记。

“当我可以使用缩进时,除了函数和类定义等一般情况”。 -> 从不。

注意:换行不算作缩进标记。所以:

>>> a = [1, 2, \  # \ is breaking line.
3]

是可能的,它在技术上不算作缩进,因为它是相同的 python 行。函数参数相同:

>>> a = np.array([0,1],
dtype=float)

关于python - 在哪些情况下我可以在 python 中使用缩进?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55143645/

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