已采纳回答 / 树上墨客
1. 地板除法:用//表示,不管操作数为何种数值类型,总是会舍去小数部分,返回数字序列中比真正的商小的最接近的数字。比如 1//2 = 0, 1.0//2= 0。2. 传统除法:用/表示,对整数之间的/,执行地板除,但对有浮点数参与的除法则执行传统意义上的除法。比如 1/2 = 0, 1.0/2=0.5。3. 精确除法:如果你想让上面的传统除法,更"传统",你就应该调用 from __future__ import division,这样以后/就真的变成传统意义上的传统除法了。比如,1/2=0.5, 1....
2017-09-13
最新回答 / 树上墨客
两个数比较,前者是self,后者是s返回-1,则排列顺序是self,s例如if self.name < s.name: return -1则是升序排序if self.name < s.name: return -1则是降序同理,返回1,则排列顺序为s,self
2017-09-12
最赞回答 / dovedudus114138
因为 Python 定义了__str__()和__repr__()两种方法,__str__()用于显示给用户,而__repr__()用于显示给开发人员。 现在,假设我们有实例a,如果使用print a,则调用的是__str__(),那没问题。而如果直接使用a来打印实例信息,则会调用__repr__()。由于我们已经定义了__str__(),__repr__()内部具体实现和它是一样的,因此可以直接用__repr__ = __str__来表述,所以很明白了,Python的方法和变量一样...
2017-09-12
最新回答 / weibo_哥哥立正向前走了_0
def gcd(a, b): >>> return gcd(b, a%b)这是一个循环 本身就有a%b=b 所以你的ifa%b有点多此一举
2017-09-12
最新回答 / 明月丿夜
Python2 的 print 声明已经被 Python3 的 print() 函数取代了,所以,2 里的print os.path.isdir(r'c:')在 3 里要写成print(os.path.isdir(r'c:'))
2017-09-12
最赞回答 / 大Ykkkk3551189
__init__ 初始化生成斐波那契数列L,传入num是其长度,range(num)就是num次循环;斐波那契数列是以0, 1开头的,后一位为前两位之和,所以初始化前两位为a,b = 0, 1 所以第三位就是a+b,将第一位a存入列表L,第一次循环生成第三位,一二位往后挪一位,所以a=b, b=a+b;循环完毕,列表生成完毕。__str__ 用函数str()将列表转换成string,并返回__len__ 函数len(),返回列表L长度
2017-09-11