摘要: GIL 全称global interpreter lock 全局解释锁 gil使得python同一个时刻只有一个线程在一个cpu上执行字节码,并且无法将多个线程映射到多个cpu上,即不能发挥多个cpu的优势。 gil会根据执行的字节码行数以及时间片释放gil,也会在遇到IO操作时候主动释放。 线程 阅读全文
posted @ 2019-03-01 23:59 脱离低级趣味 阅读(2188) 评论(0) 推荐(1)
摘要: python中函数调用的实质原理: python中函数调用的实质原理: python解释器(即python.exe)其实是用C语言编写的, 在执行python代码时,实际上是在用一个叫做Pyeval_EvalFramEx(C语言的函数)去执行代码中的函数,(实际上python中的程序实际上是运行在C 阅读全文
posted @ 2019-03-01 20:44 脱离低级趣味 阅读(630) 评论(0) 推荐(0)
摘要: 属性描述符可以用来控制给属性赋值的时候的一些行为 此代码中自定义的IntField类就是属性描述符类,属性描述根据其实现的魔法方法分为数据描述符和非数据描述符,两者的优先级别不一样。如果定义了属性描述符,那么在下面的类中定义属性的时候,如果属性是属性描述符的实例,那么再给属性赋值的时候就会先调用属性 阅读全文
posted @ 2019-03-01 11:00 脱离低级趣味 阅读(406) 评论(0) 推荐(0)
摘要: 考察 Student 类: 当我们想要修改一个 Student 的 scroe 属性时,可以这么写: 但是也可以这么写: 显然,直接给属性赋值无法检查分数的有效性。 如果利用两个方法: 这样一来,s.set_score(1000) 就会报错。 这种使用 get/set 方法来封装对一个属性的访问在许 阅读全文
posted @ 2019-03-01 10:19 脱离低级趣味 阅读(230) 评论(0) 推荐(0)