最赞回答 / 慕粉_pp
关于调用两种方法的时机使用print()时使用%s和f'{}'拼接对象时使用str(x)转换对象x时在上述三种场景中,会优先调用对象的__str__()方法;若没有,就调用__repr__()方法;若再没有,则显示其内存地址。特别地,对于下面两种场景:用%r进行字符串拼接时用repr(x)转换对象x时则会调用这个对象的__repr__()方法;若没有,则不再看其是否有__str__()方法,而是显示其内存地址。<...code...>
2021-11-20
最赞回答 / hermaniu
实例本身无count,get_count定义的是类方法,因此Leo.get_count()返回Animal的私有属性__count=0,set_count是实例方法对类无效,因此获取的__count 还是原本的0.
2021-11-18
最新回答 / 慕无忌1545359
class Animal(object): def __init(self,name,age,location): self.__name = name self.__age = age self.__location = location def set_name(self,name): self._name = name def get_name(self): return self...
2021-11-17
最新回答 / ご沉默旭ご
# Enter a code # encoding=utf-8 class Person(object): def __init__(self, name, gender): self.name = name self.gender = gender def who(self): return "I'm a person, my na...
2021-10-23
最赞回答 / LVXC
该Animal类中有3个实例属性,分别是name,age和location,并且这3个属性都是带双下划线(__)前缀的,说明是私有属性。私有属性在类的外部不能被直接访问,但可以在类的内部直接访问,所以定义了六个方法分别获取(get)和设置(set)这三个私有属性的值,在类的外部可以通过这六个方法分别获取或设置实例中这3个属性的值。__init__实例方法是构造函数,在创建实例的时候可以方便同时设置实例的属性的初始值。
2021-10-08
最赞回答 / MrQinJS
执行最后有一个None,是因为python函数使用return返回值,如果不用return, 而用print输出值,这个函数默认还有一个返回值为None .
2021-09-29
最赞回答 / MrQinJS
可以用私有属性。1、 super()._init_(param,param)这句话,调用了父类的初始化方法,那么如果需要传父类初始化方法的全部参数,但可以设置默认参数,就可以不传color这个参数,父类通过二个下划线设置私有属性。子类不能继承。
2021-09-29