随笔分类 - python语法
摘要:filter:过滤函数,第一个参数是函数,第二个参数是可迭代对象 map:将可迭代对象中的数据迭代出来,一个一个传到函数中调用,将返回结果放到新的对象中 zip函数:函数用于将可迭代对象作为参数,将对象中对应的元素打包成一个个元组
阅读全文
摘要:性能分析: 从时间上比较(用时少--多):集合、字典、元组、列表 占用内存比较(多 少):字典、集合、列表、元组
阅读全文
摘要:使用Python3.7导入gevent运行程序,提示: RuntimeWarning: greenlet.greenlet size changed, may indicate binary incompatibility. Expected 152, got 144 return f(*args,
阅读全文
摘要:协程又称为微线程 协程是Python中另外一种实现多任务的方式,只不过比线程更小,占用更小的执行单元,因为它自带CPU上下文,这样只要在合适的时机,我们可以把一个协程切换到另一个协程,只要这个过程中保存或恢复CPU上下文,那么程序还是可以运行的 通俗的理解:在一个线程中的某个函数,可以在任何地方保存
阅读全文
摘要:当需要创建的子进程数量不多时,可以直接利用multiprocessing中的Process动态生成多个进程,但如果是上百甚至是上千个目标,手动的去创建进程的工作了巨大,此时就需要multiprocessing模块提供的Pool()方法 初始化Pool时,可以指定一个最大进程数,当有新的请求提交到Po
阅读全文
摘要:Python multiprocessing.Queue() 和queue.Queue区别 1、Queue.Queue是进程内非阻塞队列,即只能在一个进程中使用 2、multiprocessing.Queue 是跨进程通信队列,即使用multiprocessing模块中的Queue实现多进程之间的数
阅读全文
摘要:并发:指任务数多于CPU核数,通过操作系统的各种任务调度算法,实现多个任务执行(实际切换任务速度快,看起来是一起执行任务) 并行:指任务数少于等于CPU核数,即任务真的是一起执行的 同步:指线程在访问某一资源时,获得了资源的返回结果后才执行其它操作(即先做再做) 异步:指线程在访问某一资源时,无论是
阅读全文
摘要:垃圾回收机制:引用计数机制为主,标记-清除和分代收集两种机制为辅的策略 引用计数 每个对象创建之后都有一个引用计数,两个对象创建的值相同,就相当于有两个引用计数,当不使用这个对象时,引用计数为0的时候,那么此时的垃圾回收机制会自动把它销毁,回收内存空间 存在缺点:当两个对象出现循环引用的时候,那么这
阅读全文
摘要:Python的深拷贝和浅拷贝都是对象的拷贝,都会生成一个看起来相同的对象,但本质的区别是拷贝的是对象的地址还是对象值的区别 可变对象与不可变对象的区别 可变对象:一个对象在不改变其所指向的地址前提下,可以修改其所指向的地址中的值 不可变对象:一个对象的值被改变了,那么原指向的地址就会发生变化,修改后
阅读全文
摘要:小整数池:就是将-5~256的整数放在一个内存中,无论程序中那些变量指向这个范围内的哪些整数,都可以直接拿出使用 优点:提高性能,避免频繁的创建和销毁,提高效率,节约内存 intern机制:即大整数池,但存储的是字符串,只存储包含标准字符串(数字、字母、下划线)的字符串,若有特殊的字符的字符串则不会
阅读全文
摘要:类和类型 type:元类,Python3中所有的类都是通过type来创建出来的 object:顶层的基类,Python3 中所有类的顶级父类都是object 利用元类直接创建类 1、使用type创建类,type创建类需要三个参数,type(name,bases,dict): -- 第一个参数:类名
阅读全文
摘要:描述器功能强大,应用广泛,它可以控制我们访问属性、方法的行为,是@property、super、staticmethod、类方法、类属性、实例背后的实现机制,是一种比较底层的设计 描述器定义 描述器是一个具有“绑定的行为”的对象属性,该对象属性访问通过描述器协议覆盖:__get__(),__set_
阅读全文
摘要:可自定义下列方法对类实例属性访问(t.name的使用、赋值或删除)的具体含义 object.__getattr__(self, name) 当默认属性访问因失败时而引发AttributeError而调用__getattr__()方法,如:调用__getattribute__()时由于name不是一个
阅读全文
摘要:类里面定义的变量叫做类属性,类属性又分为私有属性和公有属性 类属性可以通过类和实例对象去访问 私有属性: -- 单下划线开头:_attr -- 双下划线开头:__attr 私有属性也能继承 __dict__: -- 类调用__dict__属性,返S类属性和方法的字典 -- 实例调用__dict__属
阅读全文
摘要:面向对象三大特征:封装、继承、多态 封装:将数据和方法放在一个类中就构成了封装 继承:Python中一个类可以继承于一个类也可以继承多个类,被继承的类叫做父类(或叫基类, base class),继承的类叫子类 多态:指的是一类事物有多种形态,一个抽象类有多个子类(因而多态的概念依赖于继承),不同的
阅读全文
摘要:上下文管理器概念: 1)上下文管理器是一个Python对象,为操作提供了额外的上下文信息。这种额外的信息,在使用with语句初始化上下文,以及完成with块中 的所有代码时,采用可调用的形式。 2)要实现一个上下文管理器,就得在类里实现__enter__ 和 __exit__ 这两个方法,这个类的实
阅读全文
摘要:
阅读全文
摘要:在Python中,像__init__这类双划线开头和结尾的方法,都称之为魔术方法 作用:在创建对象的时候,自动调用__init__来创建对象,进行初始化设置,魔术方法都是Python内部定义,一般个人不要去定义__init__这种双划线开头的方法 构造和初始化 新定义一个类,初始化这个类,__ini
阅读全文
摘要:Python中类常用的几种装饰器 1、@classmethod :被classmethod装饰了之后,该方法就是一个类方法 2、@staticmethod:静态方法,类实例和类都可以调用;调用静态方法后,此函数就跟普通函数一样,任何参数都需要传入 3、@propert:设定只读属性
阅读全文