简述执行Python程序的两种方式以及他们的优缺点:
交互式 | 命令行式 | |
---|---|---|
优点 | 调试程序方便 | 永久保存 |
缺点 | 无法永久保存 | 调试程序麻烦 |
简述Python垃圾回收机制:
答:python 定义变量并运行后会在内存中开辟一块新的内存空间,此时,这个变量值得引用计数为1,因为有一个变量名指向了他,当这个变量值引用次数为0 后,就会触发垃圾回收机制,除小整数池([-5,256])以外的整数都会被回收,再次定义的时候内存地址将会变。
- 对于下述代码:
x = 10
y = 10
z = 10
del y
10的引用计数为多少?
答:10的引用计数为 2。
x = 257
y = x
del x
z = 257
x对应的变量值257的引用计数为多少?
答:变量值257 的引用计数为 1。
简述Python小整数池概念:
答:当python启动的时候,会自动定义[-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代码阐述为什么
答:x,y,z 的变量值相同
x,y 变量 内存地址一样,z 变量内存地址不一样
当 x = 257,y = x的时候,变量值257 的引用计数为2,x,y同时指向257 的内存空间,所以他们的内存地址是一样的。
当z = 257的时候 变量值257不在小整数池范围内,会重新开辟一块新的内存地址,所以定义并运行之后内存地址与x,y不同。
简述数字类型
数字类型分为两种:
整型(int):
作用:描述号码,身高
定义方式:
x = 1
x = int(1)
使用: + - * / % // **
浮点型(float)
作用:描述薪资
定义方式:
x = 1.0
x = float(1.0)
使用: + - * / % // **
简述字符串类型
作用:描述爱好
定义方式:
name = "qinyj"
name = str("qinyj")
使用:成员运算/+字符串拼接/in/not in/