【发布时间】:2020-11-11 02:11:34
【问题描述】:
我有一个类 User 和一个子类 Admin 我正在尝试处理,但是当我尝试调用它们的一个实例时,我一直在返回 None
class User:
def __init__(self, first_name, last_name, age, height):
self.first_name = first_name
self.last_name = last_name
self.age = age
self.height = height
def describe_user(self):
print(f"{self.first_name} {self.last_name}\n{self.age} " \
f"years old\n{self.height} cm tall")
def greet_user(self):
print(f"Hi, {self.first_name} {self.last_name}! ")
class Admin(User):
def __init__(self, first_name, last_name, age, height):
super().__init__(first_name, last_name, age, height)
self.privileges = ['post', 'delete post', 'ban user']
def show_privileges(self):
print(f"{self.first_name} can:")
for item in self.privileges:
print(item)
person = Admin('John', 'Doe', 20, 180)
print(person.describe_user())
print(person.show_privileges())
John Doe
20 years old
180 cm tall
None
John can:
post
delete post
ban user
None
我正在尝试找出发生这种情况的原因以及如何解决它
【问题讨论】:
-
describe_user()是打印语句。它不返回值。同样适用于show_privileges()。如果你想让一个函数返回一个值,它需要有一个return语句。