当前位置:   article > 正文

python的缓冲区_python缓冲区

python缓冲区

什么是缓冲区?

缓冲区是内存空间的一部分,在内存中预留了一部分存储空间,这些空间用来缓存输入或输出的数据。


缓冲区有什么作用?

       计算机内存的I/O速度远远高于计算机外设的I/O速度,如果不使用缓冲区,在执行I/O操作时,内存和外设就必须同步进行读写操作。

       内存必须等外设输入(输出)一个字节后,才能再次输入(输出)一个字节,内存中的程序大部分时间都处于等待状态。

       使用缓冲区,程序在执行过程中,会先将所有数据都输出到缓冲区中,然后继续执行其他操作,缓冲区中的数据由外设自行读取处理

       当程序执行输入操作时,会先等外设将数据读入缓冲区中,无需同外设做同步的读写操作。


python的缓存机制

先来看一段code:

  1. >>>num1 = int(1)
  2. >>>num2 = int(1)
  3. >>>print(num1 is num2)
  4. True
  5. >>>id(num1),id(num2)
  6. (2895202681104, 2895202681104)
  7. >>>str1 = "Tom"
  8. >>>str2 = "Tom"
  9. >>>print(str1 is str2)
  10. True
  11. >>>id(str1),id(str2)
  12. (2895239095344, 2895239095344)
  13. >>>num3 = float(2.0)
  14. >>>num4 = float(2.0)
  15. >>>print(num3 is num4)
  16. False
  17. >>>id(num3),id(num4)
  18. (2895206805648, 2895237555312)

        可以看到:有些变量的值相等,其内存地址也一致;有些变量的值相等,但内存地址不同。

       在python中,字符串和整型对象都是不可变的(immutable)类型,因此python可以很高效地缓存它们。 

        Python2.3简单整数缓存范围是(-1,100),Python2.5.4以后简单整数缓存范围至少是(-5,256)。所有的短字符也都在缓存区。

       这种缓存机制可以提高程序运行的效率,也可以减少内存负担。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/你好赵伟/article/detail/278228
推荐阅读
相关标签
  

闽ICP备14008679号