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

init和set内容重复

init方法不是已经对参数进行了初始化,为什么还需要set方法再一次赋值

正在回答

3 回答

作者的意思是set 可以对实列化进行单独修改,比如dog.set('nomi'), 然后再调用的时候dog.get_name(),所输出的结果就是nomi. 如果不用增加set实例方法的话,修改变量需要重新定义实例化

0 回复 有任何疑惑可以回复我~

get和set都没有什么意义,只是一个单纯的函数名字,我把get或者set改成A11也可以执行

class Animal(object):

    count=0

    def __init__(self,name,age,localtion):

        self.__name=name

        self.__age=age

        self.__localtion=localtion

        Animal.count=Animal.count+1

    def A11_name(self):

        return self.__name

    def A11_age(self):

        return self.__age

    def A11_localtion(self):

        return self.__localtion

dog=Animal('xiaohei','3','beijing')

cat=Animal('dabai','99','tianjin')

print(dog.A11_name())

print(dog.A11_age())

print(dog.A11_localtion())

print(cat.A11_name())

print(cat.A11_age())

print(dog.A11_localtion())

print(dog==cat)

print(Animal.count)




0 回复 有任何疑惑可以回复我~

不需要set方法,直接get也是可以的

class Animal(object):

    def __init__(self,name,age,localtion):

        self.__name = name

        self.__age = age

        self.__localtion = localtion

        

    def get_name(self):

        return self.__name

        

    def get_age(self):

        return self.__age

    

    def get_localtion(self):

        return self.__localtion

        

dog = Animal('JM',3,'SZ')

cat = Animal('BS',2,'SH')

wolf = Animal('JWH',900,'OF')


print('name:{},age:{},localtion:{}'.format(dog.get_name(),dog.get_age(),dog.get_localtion()))


1 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

init和set内容重复

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信