随笔分类 -  Python基础-面向对象进阶

摘要:一、再看property 一个静态属性property本质就是实现了get,set,delete三种方法 1 class Foo: 2 @property 3 def AAA(self): 4 print('get的时候运行我啊') 5 6 @AAA.setter 7 def AAA(self,va 阅读全文
posted @ 2017-04-26 16:28 ForeverPine 阅读(996) 评论(0) 推荐(0) 编辑
摘要:目录: 一、 __getattribute__ 二、__str__,__repr__,__format__ 三、__doc__ 四、__module__和__class__ 一、 __getattribute__ 1 class Foo: 2 def __init__(self,x): 3 self 阅读全文
posted @ 2017-04-26 16:24 ForeverPine 阅读(335) 评论(0) 推荐(0) 编辑
摘要:1 引子 python中一切皆是对象,类本身也是一个对象,当使用关键字class的时候,python解释器在加载class的时候就会创建一个对象(这里的对象指的是类而非类的实例) 上例可以看出f1是由Foo这个类产生的对象,而Foo本身也是对象,那它又是由哪个类产生的呢? 2 什么是元类? 元类是类 阅读全文
posted @ 2017-04-25 17:10 ForeverPine 阅读(217) 评论(0) 推荐(0) 编辑
摘要:#_*_coding:utf-8_*_ __author__ = 'Linhaifeng' class Foo: def __init__(self,x): self.x=x def __iter__(self): return self def __next__(self): n=self.x s 阅读全文
posted @ 2017-04-25 17:04 ForeverPine 阅读(203) 评论(0) 推荐(0) 编辑
摘要:析构方法,当对象在内存中被释放时,自动触发执行。 注:此方法一般无须定义,因为Python是一门高级语言,程序员在使用时无需关心内存的分配和释放,因为此工作都是交给Python解释器来执行,所以,析构函数的调用是由解释器在进行垃圾回收时自动触发执行的。 class Foo: def __del__( 阅读全文
posted @ 2017-04-25 16:55 ForeverPine 阅读(399) 评论(1) 推荐(0) 编辑
摘要:''' 1.__slots__是什么:是一个类变量,变量值可以是列表,元祖,或者可迭代对象,也可以是一个字符串(意味着所有实例只有一个数据属性) 2.引子:使用点来访问属性本质就是在访问类或者对象的__dict__属性字典(类的字典是共享的,而每个实例的是独立的) 3.为何使用__slots__:字 阅读全文
posted @ 2017-04-25 16:46 ForeverPine 阅读(228) 评论(0) 推荐(0) 编辑
摘要:我们知道在操作文件对象的时候可以这么写 上述叫做上下文管理协议,即with语句,为了让一个对象兼容with语句,必须在这个对象的类中声明__enter__和__exit__方法 1 class Open: 2 def __init__(self,name): 3 self.name=name 4 5 阅读全文
posted @ 2017-04-25 16:32 ForeverPine 阅读(628) 评论(0) 推荐(0) 编辑
摘要:class Foo: def __init__(self,name): self.name=name def __getitem__(self, item): print(self.__dict__[item]) def __setitem__(self, key, value): self.__dict__[key]=... 阅读全文
posted @ 2017-04-25 16:19 ForeverPine 阅读(393) 评论(0) 推荐(0) 编辑
摘要:一、isinstance(obj,cls)和issubclass(sub,super) isinstance(obj,cls)检查是否obj是否是类 cls 的对象 issubclass(sub, super)检查sub类是否是 super 类的派生类 二、反射 1 定义:主要指程序可以访问、监测和 阅读全文
posted @ 2017-04-24 17:43 ForeverPine 阅读(677) 评论(0) 推荐(0) 编辑

TOP