python进阶学习
python进阶学习,更深入理解python
Test_Simon
这个作者很懒,什么都没留下…
展开
-
python多进程与多线程的区别
多进程与多线程的比较:python多线程只能运行在一个cpu内核,对于耗费cpu的操作多进程优于多线程,对于io操作多线程优于多进程。分别用多进程和多线程实现一个耗费cpu的计算操作:运行代码看到多线程计算耗时39.59178113937378s多进程计算耗时17.96556830406189sfrom concurrent.futures import ThreadPoolExecutor,as_completedfrom concurrent.futures import Pro原创 2021-02-22 15:06:08 · 269 阅读 · 0 评论 -
ThreadPoolExecutor线程池介绍
ThreadPoolExecutorfrom concurrent.futures import ThreadPoolExecutorimport timedef get_html(times): time.sleep(times) print('get page {} sucess'.format(times)) return 'get done'exector = ThreadPoolExecutor(max_workers=2)#submit方法提交执行的函数到原创 2021-02-22 10:58:36 · 156 阅读 · 0 评论 -
线程同步问题-condition Semaphore
问题:引出问题:下面代码的执行结果不为0total = 0def add(): global total for i in range(10000000): total += 1def desc(): global total for i in range(10000000): total -= 1import threadingthread1 = threading.Thread(target=add)thread2 = t原创 2021-02-20 16:47:21 · 230 阅读 · 1 评论 -
线程之间的通信
线程之间的通信:1)通过queue的方法来实现线程通信from queue import Queuedef get_html_detail(queue): while True: url = queue.get() # url = queue.get_nowait() print('开始获取界面{url}'.format(url=url)) time.sleep(3) print('获取界面{url}成功---原创 2021-02-20 14:59:51 · 137 阅读 · 0 评论 -
python 多线程
1)python中的GIL:GIL: global interpreter lock (全局解释器锁)cpython中一个线程对应c语言中的一个线程,GIL使得同一时刻只有一个线程在一个cpu上执行字节码,无法映射多个线程到多个cpu上,不能发挥多核优势。GIL会根据执行的字节码行数以及时间片段释放GIL,GIL遇到io操作的时候会主动释放。2)多线程编程 threading线程是操作系统调度的最小单元import timeimport threadingdef get_html_原创 2021-02-20 11:13:42 · 89 阅读 · 0 评论 -
python中迭代器和生成器
1)python的迭代器协议问题:1)迭代协议__iter____next__2)迭代器是什么?迭代器是访问集合内元素的一种方式,一般用来遍历数据。迭代器和以下标访问的方式不一样,迭代器是不能返回的,迭代器提供了一种惰性方式访问数据。迭代器是实现了迭代协议 __iter__方法。迭代器与可迭代对象的区别我们查看下Iterator与Iterable类中分别实现了哪些协议。只要实现了__iter__方法就是可迭代类型,迭代器必须也实现__next__方法。class Iterable(me原创 2021-02-19 16:14:25 · 222 阅读 · 0 评论 -
python dict实现哪些方法
dict实现哪些方法:1)#fromkeys方法'''@staticmethod # known case def fromkeys(*args, **kwargs): # real signature unknown """ Create a new dictionary with keys from iterable and values set to value. """ pass''''''fromkeys将可迭代对象转化成dict'''原创 2021-02-18 16:48:33 · 184 阅读 · 0 评论 -
4.python自定义序列
1)序列类型的分类:容器序列 list tuple deque扁平序列 str bytes bytearray array.array可变序列 list deque bytearray array不可变序列 str tuple bytes2)序列中+ ;+= extend的区别:+与+=的区别,我们可以看下一下运行的代码list = [1,2,3,4]list2 = list + [5,6,7]print(list2)--------------------------------原创 2021-02-18 14:44:29 · 372 阅读 · 1 评论 -
3 python中的with语句--上下文管理器协议
上下文管理器协议def enter(self):def exit(self, exc_type, exc_val, exc_tb):class Sample(): def __enter__(self): print("enter") return self def __exit__(self, exc_type, exc_val, exc_tb): print("exit") def do_something(self).原创 2021-02-13 21:16:52 · 115 阅读 · 1 评论 -
isinstance 和 type的区别
isinstance 可以根据继承关系来做判断,type之判断当前的关系学习内容:原创 2021-02-12 17:21:54 · 138 阅读 · 0 评论 -
3.抽象基类
抽象基类python本身就是支持多态的语言。python不是因为继承了某个类而又特定的特性,而是因为基类继承了某些魔法函数而具有了某些特性。1)抽象基类是在基类中实现了一些抽象方法,继承该类的类都要覆盖这些方法。2)抽象基类无法实例化。3)当我们想要子类必须实现某些方法的时候,可以使用抽象基类。模拟一个抽象基类:下图看到 当rediscache调用基类set方法的时候就会抛出异常,因为基类没有覆盖set方法。那怎样才能让没有覆盖抽象基类的类实例化的时候就抛出异常呢?学习时间:原创 2021-02-12 17:12:33 · 166 阅读 · 0 评论 -
3.鸭子类型和多态
学习目标:提示:这里可以添加学习目标例如:一周掌握 Java 入门知识学习内容:提示:这里可以添加要学的内容例如:1、 搭建 Java 开发环境2、 掌握 Java 基本语法3、 掌握条件语句4、 掌握循环语句学习时间:提示:这里可以添加计划学习的时间例如:1、 周一至周五晚上 7 点—晚上9点2、 周六上午 9 点-上午 11 点3、 周日下午 3 点-下午 6 点学习产出:提示:这里统计学习计划的总量例如:1、 技术笔记 2 遍2、CSDN 技术博客 3 篇原创 2021-02-11 18:55:21 · 247 阅读 · 0 评论 -
2-python数据模型
python数据模型及其对python的影响魔法函数实质时python的一种数据类型。这种函数的使用会直接影响python的语法。简单举例说明:定义了def __getitem__(self, item)方法的类,实例对象可以进行切片操作。没有定义该方法的类,实例对象不能进行切片。对象实例的长度len()我们可以直接进入list类,看下他都实现了哪些魔法函数。看看有没有我们常用的len() iter()等函数。...原创 2021-02-10 16:32:13 · 155 阅读 · 1 评论 -
2.python中的 “魔法函数”
认识python中的魔法函数:认识魔法函数的作用魔法函数:1、 以双下划线开头双下划线结尾,比如 def __init __()2、 魔法函数是python自己提供的1.def __ init __(self)魔法函数:1、 实例函数2、实例对象调用如下代码animals是init函数下的属性,所以要用实例对象来调用,用类对象无法调用。class Zoo(): def __init__(self,animal_list): self.animals =原创 2021-02-10 15:58:51 · 437 阅读 · 9 评论 -
1.python常见的内置类型
1.python常见的内置类型常见的内置类型有哪些对象的三个特征:身份、类型、值python的内置类型1.全局唯一的None2.数值类型3.迭代类型4.序列类型5.映射类型dict6.集合类型 set7.上下文管理类型a = Noneb = Nonec = Noneprint(id(a))print(id(b))print(id(c))----------------------------14070506095330414070506095330414070原创 2021-02-10 15:02:00 · 169 阅读 · 1 评论 -
1. python中type ,object 和 class之间的关系
1. python中type ,object 和 class之间的关系理解python中什么是一切皆对象,和其实现原理。三者之间的关系 1、 object是type的一个实例。2、 list str int dict tuple 所有类都是type的一个实例对象。3、 object是所有类的基类,type也要继承object。4、type是object的一个实例对象。5、 type本身也是自己的一个实例对象。看下图,可以看到任何元素都是对象(都是type的实例对象),一切都继承obje原创 2021-02-10 14:37:54 · 440 阅读 · 1 评论 -
1.python 一切皆对象
1.python 一切皆对象掌握python的对象的管理方式学习内容:1、 python中一切皆对象2、 type 、object 、 class之间的关系3、 python常见的内置类型1:python中一切皆对象python中对象包含:类 函数 等这里对象的概念与其他学科的概念是一样的,代码的设计更像是抽象映射我们的现实社会。所以对象的概念社会经济等其他学科会介绍的更具体。python中对象的特点。1)对象可以当参数使用,赋值给一个变量。#函数def sayhello(nam原创 2021-02-10 11:55:01 · 114 阅读 · 2 评论