gpt4 book ai didi

python - 有人可以告诉我为什么我会收到意外的缩进错误吗?

转载 作者:行者123 更新时间:2023-12-01 05:04:55 28 4
gpt4 key购买 nike

我正在尝试使用此代码:

class Poll(models.Model):
question = models.CharField(max_length=200)
pub_date = models.DateTimeField('date published')
def __unicode__(self):
return self.question
def was_published_recently(self):
return self.pub_date >= timezone.now() - datetime.timedelta(days=1)

但是我在“def unicode”行遇到意外的缩进错误,但是对我来说这看起来是正确的。有谁知道为什么吗?

最佳答案

您在不同的行上混合了制表符和空格,这导致了此问题。仅使用空格(并关闭编辑器中的选项卡)。

具体来说,您的 pub_date 行似乎缩进了 4 个空格,但 def __unicode__ 行却缩进了一个制表符。 Python 不知道编辑器中的制表符值设置为多少,因此它假设制表符表示 8 个空格缩进。避免这种情况的最简单(也是推荐)的方法是仅使用空格。

来自PEP 8 :

Tabs or Spaces?

Spaces are the preferred indentation method.

Tabs should be used solely to remain consistent with code that is already indented with tabs.

Python 3 disallows mixing the use of tabs and spaces for indentation.

Python 2 code indented with a mixture of tabs and spaces should be converted to using spaces exclusively.

When invoking the Python 2 command line interpreter with the -t option, it issues warnings about code that illegally mixes tabs and spaces. When using -tt these warnings become errors. These options are highly recommended!

关于python - 有人可以告诉我为什么我会收到意外的缩进错误吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25232822/

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