随笔分类 - 

__get__ __set__ __delete__描述符
摘要:3 描述符分两种一 数据描述符:至少实现了__get__()和__set__() 二 非数据描述符:没有实现__set__() 阅读全文
posted @ 2018-05-21 19:54 Python哥 阅读(151) 评论(0) 推荐(0)
__enter__ 和 __exit__上下文管理协议
摘要:用途或者说好处: 1.使用with语句的目的就是把代码块放入with中执行,with结束后,自动完成清理工作,无须手动干预 2.在需要管理一些资源比如文件,网络连接和锁的编程环境中,可以在__exit__中定制自动释放资源的机制,你无须再去关系这个问题,这将大有用处 阅读全文
posted @ 2018-05-21 19:39 Python哥 阅读(165) 评论(0) 推荐(0)
__iter__ 和 __next__
摘要:class F: def __init__(self,x): self.x = x def __iter__(self): #把对象 变成可迭代对象 return self def __next__(self): return self.xf = F(2)print(f.__next__()) # 阅读全文
posted @ 2018-05-21 18:22 Python哥 阅读(216) 评论(0) 推荐(0)
__call__
摘要:对象后面加括号,触发执行。 注:构造方法的执行是由创建对象触发的,即:对象 = 类名() ;而对于 __call__ 方法的执行是由对象后加括号触发的,即:对象() 或者 类()() 阅读全文
posted @ 2018-05-21 15:29 Python哥 阅读(129) 评论(0) 推荐(0)
析构方法(__del__)
摘要:析构方法,当对象在内存中被释放时(也就是实例执行完了,实例的内存就会自动释放,这时候就会触发),自动触发执行。 当程序结束时,python只会回收自己的内存空间,即用户态内存,而操作系统的资源则没有被回收,这就需要我们定制__del__,在对象被删除前向操作系统发起关闭数据库链接的系统调用,回收资源 阅读全文
posted @ 2018-05-21 15:26 Python哥 阅读(1079) 评论(0) 推荐(0)
__module__ 和 __class__
摘要:__module__ 查看当前方法来之于那个文件 __class__ 查看当前方法来之于那个类 阅读全文
posted @ 2018-05-21 15:12 Python哥 阅读(151) 评论(0) 推荐(0)
__str__ 和 __repr
摘要:#1 默认类里面默认提供的__str__方法,是返回类的内存地址class foo: def __init__(self): pass#2 修改类里面默认提供的__str__方法class fun: def __str__(self): return '自定制的对象显示方式' #这必须是要retur 阅读全文
posted @ 2018-05-21 14:14 Python哥 阅读(136) 评论(0) 推荐(0)
__getitem__ __setitem__ __delitem__ 使用
摘要:#__getitem__ __setitem__ __delitem__运行设置key value值了class fun: def __init__(self): print('test') def run(self): print('run') def __getitem__(self, item 阅读全文
posted @ 2018-05-18 20:53 Python哥 阅读(145) 评论(0) 推荐(0)
授权
摘要:import timeclass FileHandle: def __init__(self,filename,mode,encoding='utf-8'): self.file = open(filename,mode,encoding=encoding) #1 获取open类操作,赋值给类里面f 阅读全文
posted @ 2018-05-18 16:12 Python哥 阅读(281) 评论(0) 推荐(0)
__getattr__ __delattr__ __setattr__ __getattribute__使用(重写python提供的错误信息)
摘要:设置一个属性操作的时候,执行 name 回电话 调用一个不存的对象属性时候,执行 ddddddd 删除一个属性时候,执行 yiii {'name': '回电话'} 注意: __getattr__ __delattr__ __setattr__ 触发条件是实例化后才能触发 阅读全文
posted @ 2018-05-17 16:51 Python哥 阅读(390) 评论(0) 推荐(0)
hasattr getattr setattr delattr --> (反射)
摘要:class Room: def __init__(self,name): self.name = name def big_room(self): print('bigroot') R = Room('回电话') #hasattr 有没某个属性,存在返回True 不存在返回Fales print(hasattr(R,'name')) ... 阅读全文
posted @ 2018-05-17 16:04 Python哥 阅读(188) 评论(0) 推荐(0)
类三大特性(继承 多态 封装)
摘要:继承 1 先说下什么是经典类 什么事是新式类 Python 2 当中类分为新式类和经典类 Python 3中全部叫新式类 python 2中如果有继承父类是object 就是新式类,继承其他类不算,但是如果继承其他类,其他类有其他了object 那就是新式类 经典类: class 类名: pass 阅读全文
posted @ 2018-05-17 10:01 Python哥 阅读(9180) 评论(2) 推荐(1)
静态方法@staticmethod
摘要:staticmethod 返回函数的静态方法。该方法不强制要求传递参数,名义上在类里面归类管理,但是不能使用类的变量和实例的变量是类的工具包 如下声明一个静态方法: 阅读全文
posted @ 2018-05-16 14:45 Python哥 阅读(283) 评论(0) 推荐(0)
类方法@classmethod
摘要:通常情况下,如果我们要使用一个类的方法,那我们只能将一个类实体化成一个对象,进而调用对象使用方法。 式例 1 比如: class Hello(object): def __init__: ... def print_hello(self): print "Hello" class Hello(obj 阅读全文
posted @ 2018-05-16 14:28 Python哥 阅读(550) 评论(0) 推荐(0)
静态属性@property
摘要:property 作用其实把类里面的逻辑给隐藏起来(封装逻辑,让用户调用的时候感知不到你的逻辑)property实例1:class Room: def __init__(self): pass @property #将函数属性变成静态属性(后面调用的时候,就不需要用x.status()来调用了,直接 阅读全文
posted @ 2018-05-16 10:54 Python哥 阅读(166) 评论(0) 推荐(0)
类(class)
摘要:类: 把一类事物的相同特和动作整合到一起就是类,类是一个抽象概论(比如人的特征:升高 年龄; 动作:吃饭睡觉等) 对象: 就是基于上面所说的类创建的一个具体事物(也就是具体存在的,比如一个人) 面向对象程序设计(英语:Object-oriented programming,缩写:OOP)是种具有对象 阅读全文
posted @ 2018-05-15 16:58 Python哥 阅读(213) 评论(0) 推荐(0)