2019年10月5日
摘要: python中 __len__ 如果一个类表现得像一个list,要获取有多少个元素,就得用 len() 函数。 要让 len() 函数工作正常,类必须提供一个特殊方法__len__(),它返回元素的个数。 例如,我们写一个 Students 类,把名字传进去: 1 class Students(ob 阅读全文
posted @ 2019-10-05 19:04 ucas_python 阅读(443) 评论(0) 推荐(0) 编辑
摘要: python中 __cmp__ 对 int、str 等内置数据类型排序时,Python的 sorted() 按照默认的比较函数 cmp 排序,但是,如果对一组 Student 类的实例排序时,就必须提供我们自己的特殊方法 __cmp__(): 1 class Student(object): 2 d 阅读全文
posted @ 2019-10-05 18:56 ucas_python 阅读(488) 评论(0) 推荐(0) 编辑
摘要: python中 __str__和__repr__ 如果要把一个类的实例变成 str,就需要实现特殊方法__str__(): 1 class Person(object): 2 def __init__(self, name, gender): 3 self.name = name 4 self.ge 阅读全文
posted @ 2019-10-05 18:30 ucas_python 阅读(214) 评论(0) 推荐(0) 编辑
摘要: python中获取对象信息 拿到一个变量,除了用 isinstance() 判断它是否是某种类型的实例外,还有没有别的方法获取到更多的信息呢? 例如,已有定义: 1 class Person(object): 2 def __init__(self, name, gender): 3 self.na 阅读全文
posted @ 2019-10-05 16:51 ucas_python 阅读(266) 评论(0) 推荐(0) 编辑
摘要: python中多重继承 除了从一个父类继承外,Python允许从多个父类继承,称为多重继承。 多重继承的继承链就不是一棵树了,它像这样: 1 class A(object): 2 def __init__(self, a): 3 print 'init A...' 4 self.a = a 5 6 阅读全文
posted @ 2019-10-05 16:37 ucas_python 阅读(741) 评论(0) 推荐(0) 编辑
摘要: python中多态 类具有继承关系,并且子类类型可以向上转型看做父类类型,如果我们从 Person 派生出 Student和Teacher ,并都写了一个 whoAmI() 方法: 1 class Person(object): 2 def __init__(self, name, gender): 阅读全文
posted @ 2019-10-05 16:22 ucas_python 阅读(202) 评论(0) 推荐(0) 编辑
摘要: python中判断类型 函数isinstance()可以判断一个变量的类型,既可以用在Python内置的数据类型如str、list、dict,也可以用在我们自定义的类,它们本质上都是数据类型。 假设有如下的 Person、Student 和 Teacher 的定义及继承关系如下: 1 class P 阅读全文
posted @ 2019-10-05 15:25 ucas_python 阅读(413) 评论(0) 推荐(0) 编辑
摘要: python中继承一个类 如果已经定义了Person类,需要定义新的Student和Teacher类时,可以直接从Person类继承: 1 class Person(object): 2 def __init__(self, name, gender): 3 self.name = name 4 s 阅读全文
posted @ 2019-10-05 15:21 ucas_python 阅读(426) 评论(0) 推荐(0) 编辑
摘要: python中定义实例方法 一个实例的私有属性就是以__开头的属性,无法被外部访问,那这些属性定义有什么用? 虽然私有属性无法从外部访问,但是,从类的内部是可以访问的。除了可以定义实例的属性外,还可以定义实例的方法。 实例的方法就是在类中定义的函数,它的第一个参数永远是 self,指向调用该方法的实 阅读全文
posted @ 2019-10-05 15:17 ucas_python 阅读(229) 评论(0) 推荐(0) 编辑
摘要: python中定义类方法 和属性类似,方法也分实例方法和类方法。 在class中定义的全部是实例方法,实例方法第一个参数 self 是实例本身。 要在class中定义类方法,需要这么写: 1 class Person(object): 2 count = 0 3 @classmethod 4 def 阅读全文
posted @ 2019-10-05 11:20 ucas_python 阅读(238) 评论(0) 推荐(0) 编辑