Discuss / Python / 在Class类中,return返回语句,为什么要另外写个函数来返回,我试过直接返回也是可以的啊!

在Class类中,return返回语句,为什么要另外写个函数来返回,我试过直接返回也是可以的啊!

Topic source

在Class类中,return返回语句,为什么要另外写个函数用来返回值? 我试过直接返回也是可以的啊!私有变量都可以返回,干嘛要多写一个函数用来返回?

我直接返回为什么报错 class Student(object): def init(self,name): self.name=name def set_score(self, value): if not isinstance(value, int): raise ValueError('score must be an integer!') if value < 0 or value > 100: raise ValueError('score must between 0 ~ 100!') self._score = value return self._score s = Student('lili') s.set_score(60) print(s.name,s.set_score())

肉厚汤圆

#3 Created at ... [Delete] [Delete and Lock User]

的确是支持直接返回,不过往前翻两章就可以看到 最好不要直接访问私有属性,任何前面有下划线的属性都应该避免直接访问

s.set_score(60)#变量在这一步就返回了 print(s.name,s.set_score())

把上面两行写成一行就可以 print(s.name, s.set_score(60))

花泽的类

#5 Created at ... [Delete] [Delete and Lock User]

print(s.name,s.set_score(?)) 虽然你定义方法的时候,用return反悔了一个值,但不代表你调用的时候不用给参数。括号里需要给参数,而上一句s.set_score(60)可以删除,直接写成 print(s.name,s.set_score(60))就行了


  • 1

Reply