第一阶段: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
猜对啦

博客地址:筱久的博客园地

posted @ 2019-07-29 18:51  foreversun92  阅读(231)  评论(0编辑  收藏  举报