赞
踩
缓冲区是内存空间的一部分,在内存中预留了一部分存储空间,这些空间用来缓存输入或输出的数据。
计算机内存的I/O速度远远高于计算机外设的I/O速度,如果不使用缓冲区,在执行I/O操作时,内存和外设就必须同步进行读写操作。
内存必须等外设输入(输出)一个字节后,才能再次输入(输出)一个字节,内存中的程序大部分时间都处于等待状态。
使用缓冲区,程序在执行过程中,会先将所有数据都输出到缓冲区中,然后继续执行其他操作,缓冲区中的数据由外设自行读取处理
当程序执行输入操作时,会先等外设将数据读入缓冲区中,无需同外设做同步的读写操作。
先来看一段code:
- >>>num1 = int(1)
- >>>num2 = int(1)
- >>>print(num1 is num2)
- True
- >>>id(num1),id(num2)
- (2895202681104, 2895202681104)
-
- >>>str1 = "Tom"
- >>>str2 = "Tom"
- >>>print(str1 is str2)
- True
- >>>id(str1),id(str2)
- (2895239095344, 2895239095344)
-
- >>>num3 = float(2.0)
- >>>num4 = float(2.0)
- >>>print(num3 is num4)
- False
- >>>id(num3),id(num4)
- (2895206805648, 2895237555312)
可以看到:有些变量的值相等,其内存地址也一致;有些变量的值相等,但内存地址不同。
Python2.3简单整数缓存范围是(-1,100),Python2.5.4以后简单整数缓存范围至少是(-5,256)。所有的短字符也都在缓存区。
这种缓存机制可以提高程序运行的效率,也可以减少内存负担。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。