day-03 作业
day-03 作业
-
简述执行Python程序的两种方式以及他们的优缺点:
- 交互式
- 优点:输入一行,解释一行,调试方便
- 缺点:程序无法保存,关掉窗口就没了
- 命令行式
- 优点:程序可以永久保存
- 缺点:调试麻烦
- 交互式
-
简述Python垃圾回收机制:
当一个变量值的引用计数为0的时候,会触发垃圾回收机制,该变量值会被回收。
-
对于下述代码:
x = 10 # 10的引用计数加1为1
y = 10 # 10的引用计数加1为2
z = 10 # 10的引用计数加1为3
del y # 10的引用计数减1为2
10的引用计数为多少?
10的引用计数为: 2
x = 257 # x对应的变量值257的引用计数加1为1
y = x # x对应的变量值257的引用计数加1为2
del x # x对应的变量值257的引用计数减1为1
z = 257 # z对应的变量值257的引用计数加1为1
x对应的变量值257的引用计数为多少?
x对应的变量值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
:当将值257赋值给变量x的时候,计算机开辟了一块新的内存空间存储257,并将变量名x指向这个空间地址;
y = x
: 此时是将已存在的x的值赋值给变量y,即将值257的内存地址再指向y,257的地址本身没有改变,所以x和y的值与内存地址相同;
z = 257
:直接将257赋值给一个新的变量,计算机会重新开辟一个内存空间去存储这个数值,再将z指向新的地址,所以虽然z和x、y的值相同,但是内存地址却是不一样的。
-
简述数字类型
- 数字类型分为
- 整型:表示整数
- 定义方式:
a = 10
或a = int(10)
- 使用方法:加、减、乘、除、取余、取整、幂、逻辑比较
- 定义方式:
- 浮点型:表示小数
- 定义方式:
b = 1.1
或b = float(1.1)
- 使用方法:加、减、乘、除、取余、取整、幂、逻辑比较
- 定义方式:
- 整型:表示整数
- 数字类型分为
-
简述字符串类型
字符串类型:一串表示某种意义的字符
定义方式:
name = 'tom' # 单引号 name = "tom" # 双引号 name = '''tom bruce ''' # 三单引号/三双引号