昨天的一些重要的,难理解的一些知识点,下面进行一个小汇总
1.GIL 锁对计算密集型影响很大,因为计算密集型要大量的计算,消耗CPU资源。对IO密集型影响不大,因为遇到IO等待的时候会被释放。
2.对象在内存中都会占有一块空间,这块空间都都一个编号,这个编号叫做存储地址,这个地址叫做引用。
3.引用赋值:将一个对象的引用赋给另一个标识符,赋值后会有多个标识符引用这个对象
4.python是弱类型语言: 是一种弱类型定义的语言,某一个变量被定义类型,该变量可以根据环境变化自动进行转换,不需要经过显性强制转换。在导入模块的时候,from-import会出现命名冲突,就是现模块中的函数或者赋值等,会和导入模块中的成员名字冲突,就是因为是弱类型语言。也就是说,你导入的模块中某一个标识符x也许是一个整数,但是你现在用它定义了一个函数,在使用的时候,会根据先后顺序进行覆盖。
5.导入模块的步骤:我们在导入模块的时候,都先去sys.modules中去找一下,如果有,直接拿出来用。如果没有的 话,先创建一个空对象放到sys.modules中,然后再去初始化一下导入的模块(也就是去从上到下的扫描执行一遍代码)循环导入问题理解的一个前提
6.实现了enter和exit方法的才是上下文管理器,enter返回的东西被with open('hello','rb') as f:中的f接收。