鱼C论坛

 找回密码
 立即注册
查看: 2194|回复: 10

[已解决]【零基础向】print()不太懂了

[复制链接]
发表于 2020-3-18 17:45:31 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
在跟一个练习,可能铺垫过长。。。大概就是类的继承问题。

  1. import random as r

  2. class Animal():
  3.     def __init__(self, age):
  4.         self.age = age

  5.     def get_age(self):
  6.         return self.age

  7.     def set_name(self, name):
  8.         self.name = name

  9.     def get_name(self):
  10.         try:
  11.             return self.name
  12.         except:
  13.             print("Set name first!")

  14.     def __str__(self):
  15.         return self.name + "age:" + str(self.age)

  16.     __repr__ = __str__

  17. class Cat(Animal):
  18.     def speak(self):
  19.         print("~meow~")
  20.         
  21.     def __str__(self):
  22.         try:
  23.             return self.name + " is a " + str(self.age) + "-years old cat!"
  24.         except:
  25.             return "A meow has no name yet!"
  26.    
  27.     __repr__ = __str__


  28. class Human(Animal):
  29.     def __init__(self, name, age):
  30.         self.name = name
  31.         self.age = age
  32.         self.friends = []

  33.     def get_friends(self):
  34.         return self.friends

  35.     def add_friends(self, other):
  36.         if other.name not in self.friends:
  37.             self.friends.append(other.name)
  38.     def speak(self):
  39.         print("Hello world! %s" %self.friends[0])

  40.     def age_diff(self, other):
  41.         diff = abs(self.age - other.age)
  42.         print("They have",diff,"years difference.")

  43.     def __str__(self):
  44.         return "Human " + self.name + "age:" + str(self.age) + " have friends " + str(self.friends)

  45.     __repr__ = __str__


  46. class Student(Human):
  47.     def __init__(self, name, age, major = None):
  48.          self.name = name
  49.          self.age = age
  50.          self.major = major

  51.     def change_major(self, major):
  52.         self.major = major
  53.         return self.major

  54.     def speak(self):
  55.         R = r.random()
  56.         if R < 0.25:
  57.             print("Zzzzz...")
  58.         elif  0.25 <= R < 0.5:
  59.             print("I hunger...")
  60.         elif 0.5 <= R < 0.75:
  61.             print("Maybe I need to study...")
  62.         else:
  63.             print("Go jerk it out!!!")

  64.     def __str__(self):
  65.         return "Student : " + self.name + " age : " + str(self.age) + "==>Major : " + str(self.major)

  66.     __repr__ = __str__
复制代码


好的,我开始run了,此时输入
  1. >>> a = Student("Jimmy",666, "PreMED")
  2. >>> a
  3. Student : Jimmy age : 666==>Major : PreMED
  4. >>> print(a.get_name(), "say:", a.speak())
  5. I hunger...
  6. Jimmy say: None
复制代码


问题在print()内,应该是调用了speak(),因为输出了speak的内容,但是为什么没有按照格式输出?而且还None了?
最佳答案
2020-3-18 17:50:03
楼上说的是对的,别等大神了,自信点。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2020-3-18 17:47:04 | 显示全部楼层
突然明白了 ,应该在 speak()里用 return,不应该用print...

不过还是等大神解读一下吧  
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-18 17:47:49 | 显示全部楼层
a.speak没有返回值啊
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-18 17:50:03 | 显示全部楼层    本楼为最佳答案   
楼上说的是对的,别等大神了,自信点。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2020-3-18 17:51:04 | 显示全部楼层
自信一点,你的理解很对哦
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2020-3-18 17:52:16 | 显示全部楼层
要相信自己,要像zltzlt或者是一个账 号一样,是吧?@一个账号
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2020-3-18 18:02:50 | 显示全部楼层
感谢大家!!!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-18 18:11:03 | 显示全部楼层
蒋博文 发表于 2020-3-18 17:52
要相信自己,要像zltzlt或者是一个账 号一样,是吧?@一个账号

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-18 18:50:21 | 显示全部楼层
蒋博文 发表于 2020-3-18 17:52
要相信自己,要像zltzlt或者是一个账 号一样,是吧?@一个账号

??
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-18 22:59:25 | 显示全部楼层

我的意思是要向你学习你那相信自己的精神,对不?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-18 23:00:07 | 显示全部楼层

我的意思是要向你学习你那相信自己的精神,对不?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-5-18 22:10

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表