Python if 语法 3.2.2

标签 python syntax

这是一个非常基本的问题,但是这段代码有什么问题?

for row in rows:
    if row["Type"] = 'DEADLINE':
        print (row["Title"])

我收到错误 TabError: inconsistent use of tabs and spaces in indentation 指向 if 末尾的冒号。

抱歉,如果这对 SO 来说太新手了,但我无法确定它是否是从 2.x python 到 3.x 的问题,或者它是否只是我尚未学习的语法。

谢谢

编辑:问题已解决。我没有意识到我的文本编辑器关闭了“将制表符转换为空格”功能。所以是的,它是制表符和空格的混合体。我假设这条消息意味着我对空格的使用通常不一致,比如空格太多之类的。

是的,我意识到单个 = 是语法错误,这是我试图删除 TabError 的东西,但显然是错误的。

最佳答案

您可能在缩进时混用了制表符和空格,就像错误消息所说的那样。

一些编辑器有自动用制表符替换 8 个空格的恼人习惯,因此您的代码实际上可能如下所示:

for row in rows:
    if row["Type"] = 'DEADLINE':
->print (row["Title"])

其中 -> 代表制表符。

告诉您的编辑器使制表符可见,并且不再替换空格。

或者,始终使用每个缩进级别一个制表符进行缩进。

关于Python if 语法 3.2.2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8458830/

相关文章:

javascript - 为什么在删除之前使用点符号检查属性比直接删除属性更快?

linux - BASH Rsync 排除不起作用。可能的语法错误?

python - 从任何地方执行 python 脚本

python - 标记 pandas 数据框中日期范围内的日期时间列表

python - 如何用累积梯度更新模型参数?

python - 如何调用名称中包含空格的方法?

javascript - jQuery 链接以创建连接字符串

python - Python利用文件路径

python - 删除重复的序列名称 pandas

c++ - 你能帮我分析一下这段代码实际上在做什么吗?如果 ((a = b > c ? d : e) == e) a++;