目录
- 简述垃圾回收机制
- 引用计数练习
- 简述小整数池概念
- 对于x = 10,请用python代码分别打印变量值、变量值内存和变量数据类型
- 对于下述代码:
x = 257
y = x
z = 257
请判断x、y、z的变量值是否相同?x、y、z的所在的内存地址是否相同?请用python代码阐述为什么?
- 简述数字类型
- 简述字符串类型
正文
- 简述Python垃圾回收机制:
- 引用计数:指向对象的引用计数器为0时,自动回收内存
- 标记清除:内存快溢出时触发,清除特定变量名。解决循环引用问题
- 分代回收:根据值存活的时间不同,分为不同等级,等级越高垃圾回收机制扫描频率越低
- 对于下述代码:
x = 10
y = 10
z = 10
del y
10的引用计数为多少?
引用计数为2
x = 257
y = x
del x
z = 257
x对应的变量值257的引用计数为多少?
引用计数为2
简述Python小整数池概念:
Python实现 int 的时候有个小整数池。为了避免因创建相同的值而重复申请内存空间所带来的效率问题,范围是[-5,256],该范围内的小整数对象是全局解释器范围内被重复使用,永远不会被垃圾回收机制回收。
对于
x = 10
,请用Python代码分别打印变量值、变量值内存地址和变量数据类型:
x = 10
print(x)
print(id(x))
print(type(x))
- 对于下述代码:
x = 257
y = x
z = 257
请判断x、y、z的变量值是否相同?x、y、z的所在的内存地址是否相同?请用python代码阐述为什么?
值相同
内存地址在pycharm中相同,在cmd中不同
a1 = print(x)
b1 = print(y)
c1 = print(z)
a1 = b1 = c1
a2 = print(id(x))
b2 = print(id(y))
c2 = print(id(z))
a2 =! b2
a2 =! c2
b2 =! c2
简述数字类型
整型
作用:表示年龄、号码等
定义方式
x = 1 x = int(1)
浮点型
作用:表示身高、体重等
定义方式
x = 1.0 x = flout(1)
简述字符串类型
作用: 表姓名, 性别, 长相等
定义方式:
字符串就是一串被串起来的字符串, 在单双三引号内包裹的一串字符
name = 'bigb'
sex = "male"
hobby = '''
sing
dance
rap
basketball
'''