Discuss / Python / 关于return的问题

关于return的问题

Topic source

JOIEUH

#1 Created at ... [Delete] [Delete and Lock User]
class Student(object):
    def get_score(self):
         return self._score

    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

为什么get_score需要return 而set_score不需要ruturn ?

  class Student(object):
      def set_score(self, score):
          self.__score = score

前面章节的这个就不需要return?

林金壕

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

set_score是有返回值的,返回None,只不过这个函数用不到返回值。 而get_score函数的作用就是返回一个值

JOIEUH

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

敢问,为什么不需要呢? 请问该怎么分辨需要与不需要?

小飞xf6

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

请问为什么要直接访问的那些变量都要写成self._score这样子呢?我一开始没有加下划线,然后就报错了,说什么超过递归深度了


  • 1

Reply