为了账号安全,请及时绑定邮箱和手机立即绑定

关于Python类中(通过方法修改属性值不用return的问题)

关于Python类中(通过方法修改属性值不用return的问题)

RISEBY 2018-08-14 10:09:46
class Dog:  """一次模拟小狗的简单尝试"""  def __init__(self,name,age):  """初始化属性"""  self.name = name  self.age = age  self.p = 3  def a(self,c):    """将p设置成指定增加的值"""    self.p += c(self前为什么不能加return,而下面的方法却可以)  def sit(self):    """模拟小狗被命令时蹲下"""    return(self.name.title() + " is now sitting.")(此处用print()取代return,结果为什么会出现none)my_dog = Dog('小白',10)my_dog.a(2)print(my_dog.p)print(my_dog.sit())
查看完整描述

1 回答

?
皈依舞

TA贡献1851条经验 获得超3个赞

因为『+=』是一个语句而不是表达式,而return的定义就是只能return表达式。

sit函数如果没有return语句那么就相当于return None,所以结果出现None。


查看完整回答
反对 回复 2018-09-06
  • 1 回答
  • 0 关注
  • 1165 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信