1.简述执行Python程序的两种方式以及他们的优缺点
答:交互型优点:马上就能看到结果,排错方便。交互型缺点:代码无法保存,断电即消失
命令型优点:代码永久保存。命令型缺点:不易排错
2.简述Python垃圾回收机制:
答:当删除变量名或者给变量名重新定义时,pythom的垃圾回收机制会自动将变量值清除
3.对于下述代码:
x = 10
y = 10
z = 10
del y
10的引用计数为多少?
答:2次
x = 257
y = x
del x
z = 257
x对应的变量值257的引用计数为多少?
答:2次
4.简述Python小整数池概念
答:为了减少因重复的值对内存的重复利用,python建立了从[-5,256]的小整数池,从python程序启动开始,就一直存在于内存中,不会被垃圾回收机制回收
5.对于x = 10
,请用Python代码分别打印变量值、变量值内存地址和变量数据类型:
答:print(x) 10
print(id(x)) 1671390528
print(type(x)) <class 'int'>
6.对于下述代码:
x = 25
y = x
z = 257
请判断x、y、z的变量值是否相同?x、y、z的所在的内存地址是否相同?请用python代码阐述为什么
答:print(f"x的内存id:{id(x)}")
print(f"y的内存id:{id(y)}")
print(f"z的内存id:{id(z)}")
x的内存id:1671390768
y的内存id:1671390768
z的内存id:8772896
7.猜年龄
age = 18
count = 0
hengxian = ("=" * 10)
while count < 3:
print(f"{hengxian}让我们开始猜年龄的游戏吧!{hengxian}")
get_age = input("请输入您的年龄:")
# 判断是否输入数字
if not get_age.isdigit():
print("请输入数字!")
break
get_age_int = int(get_age)
if get_age_int == age:
print("你猜中了!!!!!!!!!!!!!!!!!!!!!1")
elif get_age_int > age:
print("你猜的数字大了")
elif get_age_int < age:
print("你猜的小了")