简述python的垃圾回收机制
- 当一个变量值的引用计数为0时,python会将其在内存占用回收
对于以下代码
x=10
y=10
z=10
del y
10的引用计数为多少
由于10位于python的最小整数池中所以10的引用计数为2+1=3
x=257
y=x
del x
z=257
x对应的变量值257的引用计数为多少
x对应的变量值257的最小引用计数为2
简述python最小整数池的概念
最小整数池的设置是由于这些数经常被用到,python专门为它们在内存开辟了一些空间去存储它们,不会删除它们在内存中的占用。数为[-5,256]
对于下述代码,请判断x、y、z的所在的内存地址是否相同?请用python代码阐述为什么
x=257
y=x
z=257
print(id(x))
print(id(y))
print(id(z))
2173626761904
2173626761904
2173626761648
x、y、z的变量值相同。
可以看出x和y的地址相同而z的地址与x、y不相同。
简述Python的五大数据类型的作用、定义方式、方法
数字类型(分为字符型和整型)
- 作用:用来描述一些id号、银行卡号、薪资
- 定义方式:
x=10
print(type(x))
<class 'int'>
字符串类型
name='ytc'
print(type(name))
<class 'str'>
name='ytc'
height='180'
print(name+height)
ytc180
列表
- 作用:用来存储一些列数据
- 定义方式:使用[]存储里面不同元素用逗号隔开,元素可以为任何数据类型
ytc_list=['name',180,'140']
print(type(ytc_list))
<class 'list'>
ytc_list=['name',180,'140']
print(ytc_list[0])
name
字典
- 作用:查询
- 定义方式:{}在花括号内以key:value的形式存储,以逗号隔开,记住key一般为字符串,有着某种意义,value可以为任何数据类型
ytc_dict={'name':'ybz','height':180,'weight':140}
print(type(ytc_dict))
<class 'dict'>
ytc_dict={'name':'ybz','height':180,'weight':140,'hobby':['run','read']}
print(ytc_dict['name'])
print(ytc_dict['hobby'][0])
ybz
run
布尔型
- 作用:判断true or false(布尔型一般不用于打印、定义变量除0、None、空、flase外均为true)
- 定义方式:
x=10
y=8
z=y is x
print(type(z))
<class 'bool'>
x=10
y=8
z=y is x
print(z)
False