随笔分类 - Python_进阶
学习记录python的一下高级使用
摘要:## Python weakref 弱引用 > 要理解weakref核心在于Python的垃圾回收机制及其包含的引用计数 ### 引用计数 ```python import sys a = "cnblogs.sgt" # 使用 sys.getrefcount 查看变量引用计数 # 注意下:函数 sy
阅读全文
摘要:我们知道,Python的生成式表达式是这样的: generator_1 = (i for i in range(10)) 如果我将生成式表达式进行嵌套,然后再使用这个生成器的时候做点小动作: ls = [1, 2, 3, 4, 5] g = (n for n in ls if n in ls) ls
阅读全文
摘要:__getattr__:每当访问类对象的属性,此时实例字典又找不到该属性时,触发__getattr__,简言之:访问实例化对象没有的属性时触发 __getattribute__:主要访问对象中的属性就会触发此方法 __setattr__:只要给对象进行属性赋值操作就会触发此方法,无论是直接赋值还是通
阅读全文
摘要:用描述符来改写需要复用的@property方法 @property机制的最大缺点是不方便复用,其不能把他修饰的方法所使用的逻辑,套用在同一个类的其他属性上面,也不能在无关的类里面复用。 要实现复用,可以通过描述符实现: 描述符协议规定了程序应该如何处理属性访问操作,充当描述符的那个类能够实现__ge
阅读全文
摘要:@property与@{Attribute}.setter的例子 先看代码,你能读懂吗? class Resistor: def __init__(self, ohms): self.ohms = ohms class FixedResistance(Resistor): def __init__(
阅读全文
摘要:要点: 不要在字典里嵌套字典、长元组,以及用其他内置类型构造的复杂结构 namedtuple能够实现出轻量级的容器,以存放不可变的数据,而且将来可以灵活地转化为普通的类 如果发现用字典来维护内部状态的那些代码已经越来越复杂了,那么就应该考虑改用多个类来实现 直接上代码 from collection
阅读全文
摘要:1.协程 协程不是计算机提供的,它是程序员创造的。 协程-Co_routine,也可以称之为微线程,是一种用户态内的上下文切换技术,简而言之,其实就是通过一个线程实现代码块相互切换执行。 实现协程的几种方法: greenlet,早期模块 yield关键字 asyncio装饰器(python3.4及其
阅读全文
摘要:IO浅谈 首先 我们在谈及IO模型的时候,就必须要引入一个“操作系统”级别的调度者-系统内核(kernel),而阻塞非阻塞是跟进程/线程严密相关的,而进程/线程又是依赖于操作系统存在的,所以自然不能脱离操作系统来讨论阻塞非阻塞。同步/异步也是跟任务流相关的,所以要全面理解就必须考虑到并发的任务流,不
阅读全文
摘要:一、前言: 要搞懂元类必须要搞清楚下面几件事: 类创建的时候,内部过程是什么样的,也就是我们定义类class 类名()的过程底层都干了些啥 类的调用即类的实例化过程的了解与分析 我们已经知道元类存在的情况下的属性查找新顺序分析 1、先来认识认识类的创建过程: class Newclass(): #
阅读全文