问答详情
源自:2-8 Python定义实例方法

为什么要def set_name(self,name)

没有def setxxxx也能跑的通啊?

提问者:大鸡蛋小苹果 2020-12-17 14:27

个回答

  • 慕仔9036213
    2020-12-17 17:08:56
    已采纳

    这个相当于封装了一个方法,面向对象里面的封装的特性

  • 慕斯卡2483961
    2021-01-03 14:59:17

    def set_name(self, name):方法就是为了修改私有属性的值。要是不用这个方法,也可以在get_name()中添加相应的代码也可以实现。

    def get_name(self, name):

        self.__name = name

        return self.__name

    但是,在实例化对象后调用的时候,就需要带上修改的参数,比如:

    cat = Animal()

    print(cat.get_name('mimi'))