class Person: def __init__(self, name, age, sex): self.name = name self.age = age self.sex = sex def getSex(self): return self.sex class Teacher(Person): def __init__(self, name, age, sex, course, salary): Person.__init__(self, name, age, sex) self.course = course self.salary = salary def getSex1(self): super().getSex() p1 = Teacher("Anna", 30, "woman", "English", 8000) print(p1.getSex1()) 为什么输出None
时间: 2024-04-11 16:27:40 浏览: 66
Python中的__str__()方法与__repr__()方法
输出为None的原因是因为在getSex1方法中,没有返回super().getSex()的返回值。在Python中,如果函数没有明确的返回语句,则默认返回None。所以,当调用p1.getSex1()时,返回的就是None。要修正这个问题,可以在getSex1方法中添加return语句,将super().getSex()的返回值返回出来。例如:
```python
def getSex1(self):
return super().getSex()
```
这样,调用p1.getSex1()就会返回"woman",而不是None。
阅读全文