【问题标题】:“inconsistent use of tabs and spaces in indentation” [duplicate]“缩进中制表符和空格的不一致使用” [重复]
【发布时间】:2019-02-04 23:51:37
【问题描述】:

我正在尝试在 Python 3.2 中创建一个应用程序,并且我一直使用制表符进行缩进,但即使是编辑器也将其中一些更改为空格,然后在我打印出“缩进中制表符和空格的使用不一致”时尝试运行程序。

我是 python 编程的初学者。如果我能得到一些关于我的代码的整体提示,我会很高兴。

 from django.db import models
    from django.utils import timezone
    from django.contrib.auth.models import User


    class Post(models.Model):
        title = models.CharField(max_length=100)
        content = models.TextField()
        date_posted = models.DatTimeField(defult=timezone.now)
        author = models.ForeignKey(User, on_delete=models.CASCADE)

【问题讨论】:

  • 大多数提供自动标签替换的编辑器都可以选择启用/禁用该功能。查看您的选项或首选项菜单。
  • 将所有制表符\t 转换为 4 个空格。 Python 不允许两者混用。
  • 并确保您的编辑器不会将制表符扩展到空格。当您按“TAB”时,有些会简单地插入 4 个空格。

标签: python


【解决方案1】:

这仅仅意味着您混合使用了空格和制表符来缩进代码,和/或空格/制表符的数量不一致(例如,有时您使用 2 个空格,其他人使用 4 个空格)。请记住,在 Python 中缩进非常非常重要!例如,您的代码应该如下所示是正确的:

from django.db import models
from django.utils import timezone
from django.contrib.auth.models import User

class Post(models.Model):
    title = models.CharField(max_length=100)
    content = models.TextField()
    date_posted = models.DatTimeField(defult=timezone.now)
    author = models.ForeignKey(User, on_delete=models.CASCADE)

使用良好的 IDE 或文本编辑器来避免此类错误,并在执行之前确保您的代码“漂亮”。在 Python 中使用适当的缩进不是可选的,这很棒!它迫使您编写易于他人阅读的代码。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-10-10
    • 2011-08-06
    • 2015-08-28
    • 2019-04-15
    • 2020-01-23
    • 2019-07-24
    • 2020-08-10
    相关资源
    最近更新 更多