【问题标题】:Using MyClass(object) gone wrong? [duplicate]使用 MyClass(object) 出错了吗? [复制]
【发布时间】:2018-08-27 03:19:59
【问题描述】:
class Myclass(object):
    def __init__(self , msg , integer):
    self.msg = msg
    self.integer = integer
    print (self.msg)
    print (self.integer)
    return

错误

File "<input>", line 3
    self.msg = msg
       ^
IndentationError: expected an indented block

【问题讨论】:

标签: python function class init


【解决方案1】:

这个问题是重复的,仅供参考 Python2 允许混合使用制表符和空格,但 Python3 不允许。它建议使用空间来保持一致性。 请查看 PEP8 了解更多信息:

https://www.python.org/dev/peps/pep-0008/#tabs-or-spaces

编辑: 并且请在定义函数后缩进。它必须全部缩进到代码块。

【讨论】:

  • 他甚至没有在def之后缩进:joy:
  • @T.Woody O man.. 我什至没看到那是在我身上。
  • 只要你对我微笑,我就不会难过;)
【解决方案2】:
class Myclass(object):
    def __init__(self , msg , integer):
        self.msg = msg
        self.integer = integer
        print (self.msg)
        print (self.integer)
        return

空格在 python 中很重要。

编辑:运行没有问题

>>> class MyClass(object):
...  def __init__(self, msg, integer):
...   self.msg=msg
...   self.integer = integer
...   print(self.msg)
... 
>>> x = MyClass('foo', 5)
foo

【讨论】:

  • 它的工作并不奇怪:/
  • @m0m0c4t 你尝试了什么,错误信息是什么?
  • 文件“”,第 3 行 self 。 msg = msg ^ IndentationError: 需要一个缩进块
  • 还是同样的错误@T.Woody
  • @m0m0c4t 我刚刚在终端中测试了代码,以便将输出放在这里。请尝试相同的方法,然后回复我...
猜你喜欢
  • 1970-01-01
  • 2018-11-01
  • 2012-02-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-01-17
相关资源
最近更新 更多