随笔分类 -  python3.x

摘要:要选择特定的解释器,请从命令选项板(⇧⌘P)调用Python:Select Interpreter命令。 更详细请看: "http://www.cnblogs.com/it tsz/p/9312151.html" 阅读全文
posted @ 2019-01-10 00:10 raindi 阅读(6951) 评论(0) 推荐(0) 编辑
摘要:lock与rlock 使用lock不能连续两次获取锁,获取锁必须先释放锁。但是在一个线程中调用另一个函数时,在该函数中要继续操作共享的数据,这时获取锁就相当于连续执行两次获取锁,所以lock就不适用该场景,就要使用rlock了。 condition(条件变量,用于复杂的线程间同步) 场景: 期待天猫 阅读全文
posted @ 2018-12-28 01:11 raindi 阅读(322) 评论(0) 推荐(0) 编辑
摘要:共享变量通信 事实上共享变量通信是会造成线程安全的,除非我们对这个共享变量是有足够了解的,如非必要就不要使用共享变量在线程间进行通信 Queue通信 理解不深入,暂不写 阅读全文
posted @ 2018-12-27 23:42 raindi 阅读(315) 评论(0) 推荐(0) 编辑
摘要:代码如下: 结果: 阅读全文
posted @ 2018-12-27 22:35 raindi 阅读(389) 评论(0) 推荐(0) 编辑
摘要:单用户连接: 多用户连接(利用多线程) 阅读全文
posted @ 2018-12-26 22:42 raindi 阅读(173) 评论(0) 推荐(0) 编辑
摘要:__new__ __new__是用来控制对象的生成过程,在对象生成之前 __init__是用来完善对象的 如果new方法不返回对象(return super().__new__(cls)),则不会调用init函数 阅读全文
posted @ 2018-12-19 22:54 raindi 阅读(251) 评论(0) 推荐(0) 编辑
摘要:描述符 上述的User可以看做数据库中的表,假设我们要控制user中age的赋值类型,固然可以使用以下形式进行拦截: 但是这种一两次还行,多了就是在写重复代码,所以就可用上述类IntgerField中定义__get__,__set__等实现属性描述符的方式进行拦截。 __getattribute__ 阅读全文
posted @ 2018-12-19 21:17 raindi 阅读(200) 评论(0) 推荐(0) 编辑
摘要:__getattr__ 在访问对象的属性不存在时,调用__getattr__,如果没有定义该魔法函数会报错 __getattribute__ 访问对象任何属性(即使属性不存在)都会调用__getattribute__ 结果: 阅读全文
posted @ 2018-12-18 21:24 raindi 阅读(222) 评论(0) 推荐(0) 编辑
摘要:js垃圾回收机制:标记清除 Js具有自动垃圾回收机制。垃圾收集器会按照固定的时间间隔周期性的执行。 JS中最常见的垃圾回收方式是标记清除。 工作原理 当变量进入环境时,将这个变量标记为“进入环境”。当变量离开环境时,则将其标记为“离开环境”。标记“离开环境”的就回收内存。 工作流程 1. 垃圾回收器 阅读全文
posted @ 2018-12-18 20:44 raindi 阅读(379) 评论(0) 推荐(0) 编辑
摘要:理解不透彻,下回分解 "http://www.cnblogs.com/pengsixiong/p/5326893.html" "https://blog.csdn.net/zhao_crystal/article/details/82620524" 阅读全文
posted @ 2018-12-17 22:54 raindi 阅读(1475) 评论(0) 推荐(0) 编辑
摘要:转载自 "http://www.cnblogs.com/wcwnina/p/9281334.html" 阅读全文
posted @ 2018-12-15 23:41 raindi 阅读(195) 评论(0) 推荐(0) 编辑
摘要:在vscode中下载python插件,下载量最多的就是 打开launch.json,把以下代码粘贴进去即可 在settings.json中加上以下代码: 以上代码亲测有效,另附 "https://www.cnblogs.com/qdscwyy/p/7756694.html" 阅读全文
posted @ 2018-12-14 14:47 raindi 阅读(952) 评论(0) 推荐(0) 编辑
摘要:先看一个简单的例子 从程序分析,进行直接+操作后,python会重新生成一个对象,而进行+=操作并不改变原来的对象,是在原来对象的基础上进行操作,所以+=也称为就地加 除此之外+和+=还有不同: 从程序运行结果知道,+=后面的对象可以是元组,而+则不行,事实上,+=是通过魔法函数__iadd__实现 阅读全文
posted @ 2018-12-13 22:38 raindi 阅读(311) 评论(0) 推荐(0) 编辑
摘要:``` 暂时不想写 ``` 阅读全文
posted @ 2018-12-13 22:12 raindi 阅读(111) 评论(0) 推荐(0) 编辑
摘要:作用 实现代码重用 思考:super真的只是调用父类么? super函数是按照mro算法去调用的,不bb上代码: 阅读全文
posted @ 2018-12-13 00:03 raindi 阅读(302) 评论(0) 推荐(0) 编辑
摘要:Python下一切皆对象,每个对象都有多个属性(attribute),Python对属性有一套统一的管理方案。 __dict__与dir()的区别: dir()是一个函数,返回的是list; __dict__是一个字典,键为属性名,值为属性值; dir()用来寻找一个对象的所有属性,包括__dict 阅读全文
posted @ 2018-12-12 23:38 raindi 阅读(193) 评论(0) 推荐(0) 编辑
摘要:"http://python.jobbole.com/85685/" 阅读全文
posted @ 2018-12-12 21:53 raindi 阅读(149) 评论(0) 推荐(0) 编辑
摘要:在 Python 中会用到对象之间比较,可以用 ==,也可以用 is 。但是它们的区别是什么呢? is 比较的是两个实例对象是不是完全相同,它们是不是同一个对象,占用的内存地址是否相同。莱布尼茨说过:“世界上没有两片完全相同的叶子”,这个is正是这样的比较,比较是不是同一片叶子(即比较的id是否相同 阅读全文
posted @ 2018-12-12 21:30 raindi 阅读(200) 评论(0) 推荐(0) 编辑
摘要:python不支持多态,也不用支持多态,python是一种多态语言,崇尚鸭子类型。 在程序设计中,鸭子类型是动态类型的一种风格,不是由继承特定的类或实现特定的接口,而是当前的方法和属性的集合决定,鸭子类型中关注的不是对象的类型本身,而是他如何使用。 这个概念的名字来源于由James Whitcomb 阅读全文
posted @ 2018-12-12 21:16 raindi 阅读(241) 评论(0) 推荐(0) 编辑
摘要:抽象基类特点 思考 既然python中有鸭子类型,为什么还要使用抽象基类? 一是我们在某些情况下希望判定某个对象的类型: 二是我们要强制某个子类必须实现某些方法 阅读全文
posted @ 2018-12-12 21:15 raindi 阅读(512) 评论(0) 推荐(1) 编辑

点击右上角即可分享
微信分享提示