liuxingyu.. 发表于 2020-5-16 16:32:37

类的实例

class Restrunt():
    def __init__(self,name,type):
      self.name=name
      self.type=type
      self.number=0
    def guess(self):
      person=(self.name+self.type)
      return person
    def mouve(self):
      print('这家餐馆是做'+self.type+'de'+'\n他的名字叫做'+self.name)
    def omder(self):
      print('共有'+str(self.number)+'个人在此就餐过')
      



resun =Restrunt('和平饭馆','家常菜')
print(resun.guess())
print(resun.mouve())
resun.omder()


结果:和平饭馆家常菜
这家餐馆是做家常菜de
他的名字叫做和平饭馆
None
共有0个人在此就餐过
为什么会有个None?求助大神

Twilight6 发表于 2020-5-16 16:33:29

本帖最后由 Twilight6 于 2020-5-16 16:35 编辑

没有设置return 所以就会自动返回None了
class Restrunt():
    def __init__(self, name, type):
      self.name = name
      self.type = type
      self.number = 0

    def guess(self):
      person = (self.name + self.type)
      return person

    def mouve(self):
      return '这家餐馆是做' + self.type + 'de' + '\n他的名字叫做' + self.name

    def omder(self):
      return '共有' + str(self.number) + '个人在此就餐过'


resun = Restrunt('和平饭馆', '家常菜')
print(resun.guess())
print(resun.mouve())
print(resun.omder())

永恒的蓝色梦想 发表于 2020-5-16 16:43:08

楼上正解

pyrhon萌新# 发表于 2020-5-16 19:37:27

初学者容易犯的错误,以前我也总是这样, def mouve(self):
      print('这家餐馆是做'+self.type+'de'+'\n他的名字叫做'+self.name)
    def omder(self):
      print('共有'+str(self.number)+'个人在此就餐过')这段代码不该打印,应该用return返回。在后面打印~~~def mouve(self):
      return '这家餐馆是做' + self.type + 'de' + '\n他的名字叫做' + self.name

    def omder(self):
      return '共有' + str(self.number) + '个人在此就餐过'
页: [1]
查看完整版本: 类的实例