已采纳回答 / Zobeltitz
在自己自定义的类中的这两个方法继承自Object类,可能不符合自己的需求(比如说输出太难读了)。所以需要在自己的类中重写这两个方法,覆盖继承的这两个方法,执行新的功能。(在Python的内建数据类型(字符串,整型等)中应该已经重写过这个方法了)str和repr用户和开发者都可以使用,结果均打印在命令行中。区别在于这两个的函数的作用的定义,str注重用户的可读性(在某些应用里可能会输出图表之类的?),repr注重开发和调试期间的使用(课程中说:”在终端(Terminal)中直接输入变量的时候“,用户不太用直...
2020-10-20
最赞回答 / 不做实力派的型男不改昵称
你这完全搞错了,__str__是object对象的内置函数,而str()是python全局的一个内置函数,这两个不是一个函数在使用 str(a) 时等价于 a.__str__() ,即str方法会去调用对象的内置函数__str__.这里你可能会问,那为啥不写a.__str__(),而是写成str(a)。因为习惯规定双下划线的为私有级别,不建议直接调用,而且个人觉得写起来代码也不好看
2020-10-20
最赞回答 / 慕粉6398034
线上编译器的版本不是Python3.X,除法还是和2.X版本一样只能取整,所以没有__truediv__这个正常除法,只有__div__这个除法,然而这个除法如果整数和整数除只能向下取整,只有浮点数和浮点数或者浮点数和整数相除才会取小数点之后的数
2020-09-26
例子中引用循环变量返回值为函数,所以会受到循环变量变化影响,任务中将返回值进行实际赋值,后续变量产生变化不对已赋值变量产生影响,不知道这么理解对不对
2020-09-24
#set方法作用,i guess
Animal('1', 1, '1')
print(dog.get_info())
dog.set_info('2',2,'2')
print(dog.get_info())
Animal('1', 1, '1')
print(dog.get_info())
dog.set_info('2',2,'2')
print(dog.get_info())
2020-09-23
L1 = ['bob', 'about', 'Zoo', 'Credit']
L2 = sorted(L1,key=str.lower)
print(L2)
L2 = sorted(L1,key=str.lower)
print(L2)
2020-09-18