IndentationError:unindent与任何外部缩进级别都不匹配

时间:2017-08-22 02:49:31

标签: python python-3.x function class

我一直收到这个错误:

IndentationError: unindent does not match any outer indentation level on line 8
    def salary_emp(self):

    ^

如果我只定义功能,它如何匹配?提前致谢。

import math

class employee: 
    def __init__(self, name, lname, age):
        self.name = name
        self.lname = lname
        self.age = age
    def salary_emp(self):
        print("{}".format((self.age - 25)*1000 + 50000))

empl1 = employee("Will", "Brown", 40)
salary_emp(empl1)

print(empl1)
print(empl1.name)
print(empl1.lname)

2 个答案:

答案 0 :(得分:1)

一个问题:您使用的是哪种编辑器?

无论如何,通常发生的事情是要么使用空格和制表符的组合,要么将代码从一个文件/编辑器转移/粘贴到另一个,代码往往会错位自己。这会导致相同类型的顺序错误。

通常对我有用的是:

  

无论哪一行抛出异常,都要去它的开头   退格它直到它与前一行相同   码。现在点击进入/返回。

或者,按标签替换所有空格。通常是一种很好的做法。

异常投掷行应自动转到正确的缩进位置。

答案 1 :(得分:0)

正如@ user2357112指出的那样,你在功能定义中混合了标签和空格。

__init__()的行有前导标签后跟空格,但salary_emp()的行只有空格。

不要这样做。使用所有标签或所有空格。