-
1.is 适用继承关系 2.has 适用组合关系查看全部
-
def gcs(a,b,c=1): if 0==a%2 and 0==b%2: return gcs(a/2,b/2,c*2); s = abs(a-b) m = min(a,b) if s == m: return m*c return gcs(s,m,c) class Rational(object): def __init__(self, p, q): self.p = p self.q = q def __add__(self, r): return Rational(self.p * r.q + self.q * r.p, self.q * r.q) def __sub__(self, r): return Rational(self.p*r.q-self.q*r.p,self.q*r.q) def __mul__(self, r): return Rational(self.p*r.p,self.q*r.q) def __div__(self, r): return Rational(self.p*r.q,self.q*r.p) def __str__(self): c=gcs(self.p,self.q) return '%s/%s' % (self.p/c,self.q/c) __repr__ = __str__ r1 = Rational(1, 2) r2 = Rational(1, 4) print r1 + r2 print r1 - r2 print r1 * r2 print r1 / r2查看全部
-
我开始想到是传进的一个list。。然后 写了 return x[0].upper+x[1].lower for x in s 一直报错。以后一定要搞清楚传入的对象,到底是什么。查看全部
-
直接把 lambda 函数赋值给 self.get_grade 和绑定方法有所不同,函数调用不需要传入 self,但是方法调用需要传入 self。查看全部
-
包下面必须要有: __init__.py文件查看全部
-
实例的属性可以像普通变量一样进行操作 由于Python是动态语言,对每一个实例,都可以直接给他们的属性赋值查看全部
-
class Person(object): count = 0 def __init__(self,name): self.name = name Person.count += 1查看全部
-
如果一个属性由双下划线开头(__),该属性就无法被外部访问。查看全部
-
import ... as ... try: ... except: ...查看全部
-
import xxx from xxx import xxx查看全部
-
Python 定义了__str__()和__repr__()两种方法,__str__()用于显示给用户,而__repr__()用于显示给开发人员。 有一个偷懒的定义__repr__的方法: class Person(object): def __init__(self, name, gender): self.name = name self.gender = gender def __str__(self): return '(Person: %s, %s)' % (self.name, self.gender) __repr__ = __str__查看全部
-
多重继承通过 super()调用__init__()方法时,A 虽然被继承了两次,但__init__()只调用一次:查看全部
-
由于Python的动态特性,json.load()并不一定要从一个File对象读取内容。任何对象,只要有read()方法,就称为File-like Object,都可以传给json.load()。查看全部
-
多态。也就是说,方法调用将作用在 x 的实际类型上。 动态语言调用实例方法,不检查类型,只要方法存在,参数正确,就可以调用。 调用 s.whoAmI()总是先查找它自身的定义,如果没有定义,则顺着继承链向上查找,直到在某个父类中找到为止。如果没有找到就报错查看全部
-
在json/decoder.py中提示“No JSON object could be decoded”,所以在read()方法中要返回具有json格式的原始字符串,最简单的就是[]查看全部
举报
0/150
提交
取消