我一直收到这个错误:
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)
答案 0 :(得分:1)
一个问题:您使用的是哪种编辑器?
无论如何,通常发生的事情是要么使用空格和制表符的组合,要么将代码从一个文件/编辑器转移/粘贴到另一个,代码往往会错位自己。这会导致相同类型的顺序错误。
通常对我有用的是:
无论哪一行抛出异常,都要去它的开头 退格它直到它与前一行相同 码。现在点击进入/返回。
或者,按标签替换所有空格。通常是一种很好的做法。
异常投掷行应自动转到正确的缩进位置。
答案 1 :(得分:0)
正如@ user2357112指出的那样,你在功能定义中混合了标签和空格。
__init__()
的行有前导标签后跟空格,但salary_emp()
的行只有空格。
不要这样做。使用所有标签或所有空格。