第一阶段:Python开发基础 Python基础语法入门 day03 课后作业
第一阶段:Python开发基础 Python基础语法入门 day03 课后作业
1.简述执行Python程序的两种方式以及他们的优缺点
答:执行python程序的两种方式:交互式和命令行式
交互式(jupyter):
优点:运行一句执行一句 缺点:关闭即消失
命令行式(pycharm):
优点:一直保存 缺点:全部写完才能调试bug
2.简述Python垃圾回收机制
答:在python编写代码的过程中,当我们对一个变量进行赋值的时候,我们需要在内存中开辟一块空间用于存储这个变量中,而当我们对这个变量重新赋一个新的值的时候会使用新的值的内存,而之前的变量值因为没有变量与之对应,那么它就属于“垃圾”,python就会启用垃圾回收机制,将这个变量值进行回收,释放这块的内存。
3.对于下述代码:
x = 10
y = 10
z = 10
del y
10的引用计数为多少?
答:在未执行del y之前10的引用计数为3,当执行了del y后,10的引用计数为 2
x = 257
y = x
del x
z = 257
x对应的变量值257的引用计数为多少?
因为x和y都引用了第一个257,而z的257是新开辟的内存,所以del x后,x对应的变量值257的引用计数 为 1
4.简述Python小整数池概念
答:python为了避免因创建相同的值而重复申请内存空间所带来的效率问题,python解释器会在启动时候创建一个小整数池,范围是[-5,256],只要是这个范围内的整数可以被重复使用,而且不会被垃圾回收机制回收
5.对于下述代码:
x = 257
y = x
z = 257
请判断x、y、z的变量值是否相同?x、y、z的所在的内存地址是否相同?请用python代码阐述为什么?
答:x、y、z的变量值相同,内存地址x和y的相同与y的不同
代码如下:
x = 257
y = x
z = 257
print('xid=',id(x),'yid=',id(y),'zid=',id(z))
运行结果:
xid= 2714990430096 yid= 2714990430096 zid= 2714990852144
从上可以看出x和y的内存是相同的,而z的内存地址和x、y不同
程序代码:
if x==y and y == z :
print('x y z value the same !')
else:
print('flase')
运行结果:
x y z value the same !
6.通过预习写一个猜年龄游戏
需求:给定一个标准年龄,用户通过输入年龄判断年龄是否等于标准年龄,如果等于——打印猜对了;如果小于——打印猜小了;如果大于——打印猜大了
程序代码:
age = 16
guess_age = int(input('请输入你猜测的年龄:'))
if guess_age == age :
print('猜对啦')
elif guess_age > age :
print('对不起,猜大了')
elif guess_age < age :
print('对不起,猜小了')
运行结果:
请输入你猜测的年龄:16
猜对啦
博客地址:筱久的博客园地