7.29 课后作业

day 03 作业

简述执行Python程序的两种方式以及他们的优缺点:

  • 交互式:就是cmd窗口下完成pycharm代码,在此种交互环境下,敲完一条命令按下enter键马上就能看到结果,调试程序方便。但程序无法永久保存,关掉cmd窗口数据就会消失。
  • 命令行式:打开文本编辑器,可用.txt或者.py等文件,并且文件的后缀名没有影响,在文本编辑器中写入一串代码。打开cmd窗口,找到此文件路径并打开,python会读一行翻译一行,并且这个文件是永久保存在硬盘的

简述Python垃圾回收机制:

python环境中,每定义一个变量,内存就开辟一个内存空间存储这个变量,当第一次定义这个变量时,即引用计数为1,后每次重复引用一次计数加1,del会释放引用计数,当引用计数为0时,会释放当前变量的内存占用,触发变量垃圾回收机制。例如:

x = 10 # 10的引用计数为1 
y = x # 10的引用计数为2(1+1)
del y # 释放Y 10的引用计数为1 (2-1)
del x # 释放X 10的引用计数为0 (1-1),触发垃圾回收机制

对于下述代码

10的引用计数为多少?

x = 10 # 10的引用计数 0+1=1
y = 10 # 10的引用计数 1+1=2
z = 10 # 10的引用计数 2+1=3
del y # 10的引用计数 3-1=2  @@@ 题目答案

x对应的变量值257的引用计数为多少?

x = 257 # x对应的257的引用计数 0+1 =1
y = x # x对应的257的引用计数 1+1 =2
del x # x对应的257的引用计数 2-1 =1 @@@ 题目答案
z = 257 # z对应的257的引用计数 0+1 = 1

简述Python小整数池概念:

为了避免因创建相同的值而重复申请内存空间所带来的效率问题,小整数池在python解释器启动的时候就自动开辟了,所以说他不会受垃圾回收机制的影响,范围是[-5,256]。

对于x = 10,请用Python代码分别打印变量值、变量值内存地址和变量数据类型:

print(x)
print(id(x))
print(type(x))

对于下述代码:请判断x、y、z的变量值是否相同?x、y、z的所在的内存地址是否相同?请用python代码阐述为什么?

x = 257
y = x
z = 257
print(x,y,z) # 结果均为257,所以变量值全部相同
print(id(x),id(y),id(z)) # 由于pycharm环境做了优化,用cmd窗口对x,y,z的内存地址进行打印,发现id(x)和id(y)相同,id(z)与前两者不同,因为y是调用了x的内存空间,而z是重新开辟的内存空间

通过预习写一个猜年龄游戏,需求:给定一个标准年龄,用户通过输入年龄判断年龄是否等于标准年龄,如果等于——打印猜对了;如果小于——打印猜小了;如果大于——打印猜大了

age = 18
age_in = input('请输入年龄:')
if age_in.isdigit() == False:
    print('您输入的不是年龄:')
if int(age_in) == age:
    print('猜对了')
if int(age_in) > age:
    print('猜大了')
if int(age_in) < age:
    print('猜小了')

转载于:https://www.cnblogs.com/dadazunzhe/p/11264550.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值