python高级编程并发编程
文章平均质量分 79
狄鸠
写给5年后的自己
展开
-
IPython的使用(看这篇就够了)
一,IPython特点提供用户一个更加友好的界面提供代码补全,对象检查,系统调用,获取输入历史等等实用的功能可嵌入程序用作解释器,这一特性可以用于排除bug,交互式处理,分析数据允许快速画图,IPython支持GTK,Qt,WX等GUI程序美化代码,对对象的输出格式进行调整能够嵌入别的程序中二,自动补全IPython可以通过Tab键,搜索命名空间里面的对象(包括定义的变量名,内建函数名,关键字等)访问私有属性或者私有方法,输入点后,输入下划线Tab[外链图片转存失败,源站可能有原创 2020-06-14 15:01:21 · 2590 阅读 · 0 评论 -
python高级编程(1) - 一切皆对象
一,python高级工程师和大神一起阅读优秀源码面试,多做项目应对 python 高级工程师面试从深度和广度都扩充自己的只是体系能应对各种难度的框架和库的源码深入理解 python 的设计理念和背后的原理asyncyio 可以让我们开发出媲美 go ,nodejs高并发的服务器二,python一切皆对象python 中的面向对象是最彻底的面向对象函数和类也是对象,属于python一等共鸣赋值给一个变量可以添加到集合对象中可以作为参数传递给函数可以当作函数的返回原创 2020-06-13 21:59:56 · 144 阅读 · 0 评论 -
python高级编程(2) - 魔法函数
魔法函数一,什么是魔法函数在触发某些条件的情况下回自动调用的函数,以双下划线开头和结尾,例如 __iter__, __getitem__class Company(object): def __init__(self, employee_list): self.employee_list = employee_list ① def __getitem__(self, item): ② return self.employee_list[it原创 2020-06-13 22:08:52 · 173 阅读 · 0 评论 -
python高级编程(3) - 深入类和多态
深入类和多态一,鸭子类型和多态鸭子类型当你看到一只鸟走起来想鸭子,游泳起来像鸭子,叫起来像鸭子,那么这只鸟就叫做鸭子类型我们并不关心对象是什么类型,到底是不是鸭子,只关心行为。我们只关心一个类被不同的魔法函数赋予了不同的特性,我们看他是什么类型,是看他实现了哪些魔法函数,具有哪些特性Java 里面如果要实现一个特点的类型,必须继承一个类,而 python 只需要写几个魔法函数,赋予它那种数据类型的特性就行, 这就是鸭子类型又比如 list.extend()方法中,我们并不关心它的参数是原创 2020-06-13 22:11:49 · 190 阅读 · 0 评论 -
python高级编程(4) - 自定义序列类
自定义序列类一,序列类型的分类序列类型的分类序列类型都能用 for 循环遍历第一分类容器序列(能够放置任意类型的数据)list,tuple,deque扁平序列(只能放相同的数据类型)str,bytes,bytearray,array.array第二分类可变序列(能往对象添加数据)list,deque,bytearray,array不可变(不能往对象添加数据)str,tuple,bytes二,序列类型的abc继承关系from coll原创 2020-06-13 22:13:07 · 300 阅读 · 0 评论 -
python高级编程(5) - 深入python的dict和set
深入python的dict和set一,dict的abc继承关系dict 的抽象基类是 Mappingfrom collections import Mappingd = {}print(isinstance(d, Mapping))二,dict的常用方法…自己脑补三,dict的子类不要去继承 dict 和 set ,他们内部是用c语言写的,使用父类的方法有时不会被调用如果要继承,使用 collections.UserDict,这个用 python 重写过字典的,继承之后调用父原创 2020-06-13 22:14:28 · 191 阅读 · 0 评论 -
python高级编程(6) - 对象引用,可变性和垃圾和回收
对象引用,可变性和垃圾和回收一,python中的变量是什么python 和 java 变量本质不一样,java 每次创建变量就要声明类型就像一个盒子,指定了里面要装什么,就只能装什么,python 的变量本质就是一个指针,里面存的是数据的地址,指针里面的内存地址可以被修改,指向不同的对象,这个是动态语言实现的核心>>> a = [1, 2, 3]>>> b = a>>> b.append(4)>>> a [1, 2, 3,原创 2020-06-13 22:17:04 · 189 阅读 · 0 评论 -
python高级编程(7) - 元类编程
元类编程一,动态属性property使用装饰器 @property 即可进行动态属性的创建,以及管理属性场景一: 如果之前我存入数据库的数据只有用户的生日,而没有年龄,但是我就是想通过属性调用的方式来获取用户生日from datetime import datetime, dateclass User: def __init__(self, name, birthday): self.name = name self.birthday = birt原创 2020-06-13 22:19:26 · 299 阅读 · 0 评论 -
python高级编程(8) - 迭代器和生成器
迭代器和生成器一,什么是迭代协议迭代器是用来访问集合元素内部的一种方式,一般用来遍历数据迭代器和访问下表的访问方式不一样,迭代器是不能返回的,迭代结束就没有值了,迭代器提供了一种惰性生成数据的方式from collections import Iterable, Iterator二,迭代对象和迭代器区别可迭代对象 :实现了 __ iter __() 这个魔法方法迭代器:实现了 __ next __ 和 __ iter __ 这两个魔法方法 __ next __ 返回下一个原创 2020-06-13 22:20:57 · 154 阅读 · 0 评论 -
python高级编程(9) - 迭代器和生成器
多线程,多进程,线程池编程一,GILCPython 解释器本身就不是线程安全的,因此有全局解释器锁(GIL),一次只允许使用一个线程执行 Python 字节码。因此,一个 Python 进程通常不能同时使用多个 CPU 核心。这是 CPython 解释器的局限,与 Python 语言本身无关。Jython 和 IronPython 没有这种限制。不过,目前最快的 Python 解释器 PyPy 也有 GIL然而,标准库中所有执行阻塞型 I/O 操作的函数,在等待操作系统返回结果时都会释放 GI原创 2020-06-14 13:41:44 · 111 阅读 · 0 评论 -
python高级编程(10) - 协程和异步io
协程和异步io一,并发,并行,同步,异步,阻塞,非阻塞并发 :并发是指一个时间段内,有几个程序在同一个 cpu 上运行,但是任意时刻是由一个程序运行(在io等待的时间去运行别的程序)并行 :并行是指任意时刻点上,有多个程序同时运行在多个 cpu 上同步 :代码调用 I/O 操作时,必须等待 I/O 操作完成才返回的调用方式异步 :代码调用 I/O 操作时,不必等待 I/O 操作完成就返回调用方式阻塞 :调用函数时候当前线程被挂起非租塞 :调用函数时候当前线程不会被挂起,而是立即返回二,C10原创 2020-06-14 13:53:04 · 189 阅读 · 0 评论