已采纳回答 / bosssssssos
除号在__str__()中:'%s/%s',输出了除号,这样就达到了我们的目的计算机并不知道这个类是用来表示分数的,它的意义是人为加上的这个类有两个属性,分子和分母,如果你需要使用它的值,就自己写一个方法把它们除一下;不需要使用的话,print的时候加个除号输出就好
2017-08-28
已采纳回答 / a_flying_fish
s and len(s.strip()) > 0这里是一个bool表达式,,相当于(s) and (len(len(s.strip()) > 0),如果你学过其他计算机语言,理解起来就是s && len(s.strip()) > 0,其中s.strip()指的是去掉字符串首尾的空格剩下的字符串,len(...)就是长度了根据python的and运算规则,0,none,“”表示逻辑的False,如果此处s为False,则返回False,如果s不为False,当s.strip...
2017-08-26
最赞回答 / 慕田峪6529258
之前廖老师有说过filter函数的应用。filter(函数,可迭代的对象),可迭代对象中的元素代入第一个函数,函数返回值为True,则选择,否则过滤,这就是fliter函数的功能。所以lambda x: x[0]!='_'这个匿名函数的意义 迭代对象的第一个元素不为0则返回True,否则返回False。dir(p)则是迭代对象,p的属性的列表集合。整合在一块而便是筛选出符合条件(属性不以 _ 开头)的属性。望采纳,谢谢!
2017-08-25
已采纳回答 / Mad_King3552331
你说的问题有两个方面,我觉得是你没弄明白u和b的区别。一、Python 2有两种字符串类型:Unicode字符串和非Unicode字符串,Python 3只有一种类型:Unicode字符串(Unicode strings)。python2中字符串是以beytes方式存储的,pyton3中字符串是以unicode方式存储的。引用python的模块后,s = 'am I an unicode?' 默认就是Unicode方式存储的,这对应了Python2 的s = u'am I an unicode?'例如在p...
2017-08-24
最赞回答 / 慕仰5534561
self.k = v 的含义是 v 的内容赋值给变量名k 生成的不是字典而setattr(object, name, values) 给对象的属性赋值,若属性不存在,先创建再赋值。
2017-08-21
已采纳回答 / weibo_咸田两心_0
1、对于sorted()的定义是,传入两个待比较的元素 x, y,如果 x 应该排在 y 的前面,返回 -1,如果 x 应该排在 y 的后面,返回 1。如果 x 和 y 相等,返回 0。至于加了reversed_cmp函数之后实现倒序是因为和上面的排序定义正好相反2、如果比较的字符串中的首字母一样,就比较下一个字母么
2017-08-21
最赞回答 / weibo_哥哥立正向前走了_0
如上所诉类名调用和super不要混用 ,当用类名调用时——用的是广度算法,super调用C3算法class A(object):passclass B(A):passclass C(B):passclass D(A):passclass E(D):passclass F(C, E):pass按照广度优先遍历,F的MRO序列应该是[F,C,E,B,D,A]但是C3是[F,E,D,C,B,A]
2017-08-19