我在学Python,有问题。 运行此代码后,将显示结果
“我叫鲍勃,工资五万,工作很忙main.pizza机器人对象位于0x00000000028EECC0>
我希望为str中的每个对象显示“work”,而不是调用目标工作()对于每个对象。你知道吗
在这个问题中,输出应该是“姓名是Bob,薪水是50000,工作是Bob做披萨”
谢谢
class Employee():
def __init__(self,name,salary = 0):
self.name = name
self.salary = salary
def giveraise(self,percent):
self.salary = self.salary + self.salary * percent
def __str__(self):
return "Name is {0} and salary is{1} and work is {2}".format(self.name,self.salary,self.work)
def work(self):
print(self.name ,"does stuff")
class chef(Employee):
def __init__(self,name):
Employee.__init__(self,name,50000)
def work(self):
print(self.name ,"makes food")
class PizzaRobot(chef):
def __init__(self,name):
chef.__init__(self,name)
def work(self):
print(self.name ,"makes pizza")
if __name__ == "__main__":
bob = PizzaRobot("Bob")
print(bob)
self.work
是一个函数,因此你的行为。你知道吗在
work
函数中,使用return:然后,你可以使用
(注意末尾的
()
,self.work()
。您将调用函数)相关问题 更多 >
编程相关推荐