zoukankan      html  css  js  c++  java
  • day03

    day03作业

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

    1. 交互式

      • 优点:运行一句,执行一句
      • 缺点:关闭即消失
    2. 命令式

      • 优点:一直保存
      • 缺点:全部写完才能调试bug

    简述Python垃圾回收机制:

    • 每定义一个变量py都会在内存开辟一个空间,这个空间的名字就是变量名,比如X=10,这就是在一个名为X的房间,它里面的值就是10,但是当我们重新定义一个X=11时py就会解除x和10的绑定而重新与11绑定,也就是x=11,这个时候存放10的那个空间就没了名字也就成了垃圾,python会自动释放存放10的这个空间所占用的内存。

    对于下述代码:

    x = 10
    y = 10
    z = 10
    del y
    

    10的引用计数为多少?

    • 2
    • 删除了y之后10的引用计数是x和z
    x = 257
    y = x
    del x
    z = 257
    

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

    • 1
    • 因为y=x所以删除了x以后y等于257,但是z是另外定义的一个虽然同是等于257但是他们开辟了不同的空间,所以x对应的257引用计数为1.

    简述Python小整数池概念:

    • 为了避免因创造相同的值而重复申请内存空间所带来的效率问题py在启动时就会创建一个空间也就是小整数池,就是在一定范围内[-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 = 257
    y = x
    z = 257
    print(x,y,z)
    #输出 257 257 257
    print(id(x),id(y),id(z))
    #输出34508624 34508624 34508624
    
    • 这是我用pycharm写的,pycharm有个特点就是为了节省内存,在10分钟内输入的相同数值他不会另外开辟空间。所以实际上变量值是相同,但是内存地址x和y相同z和他们不同

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

    age = 18  #定义一个数值(标准答案)
    count = 0  #次数0次时可以游戏
    #当游戏进行次数小于3次时显示"请输入你的年龄>>>"
    while count < 3:
        inp_age = input("请输入你的年龄>>>")
        # 判断输入的是否是数字,如果不是,则显示"年龄怎么能不输入数字呢"
        if not inp_age.isdigit():
            print("年龄怎么能不输入数字呢")
            continue
    #如果输入的时数字则开始判断与标准答案的大小。
        inp_age_int = int(inp_age)
        if inp_age_int == age:
            print("对的,就是这个")
    
            break    #当猜对之后退出当前循环
        elif inp_age_int < age:
            print("猜小了")
        else:
            print("猜大了")
            #每次猜一次数字则增加一次游戏次数如果次数小于三则继续游戏
        count += 1
        if count < 3:
            continue
            #当游戏次数大于3时则出现"是否继续猜,继续输入“y”,否则按任意键退出。"
            # 如果输入y则游戏进行次数清0,继续进行游戏。
        again_choice = input("是否继续猜,继续输入“y”,否则按任意键退出。")
        if again_choice == "y":
            count = 0
    

    今日小结:

    今天开始接触实际打代码,感觉有很多懵懵懂懂的,不是很明白,虽然每句话都知道代表的是什么意思,但是如果如果没人教让我自己打肯定打不出来,很多地方也不知道为什么这么打,接下来好好学!

  • 相关阅读:
    Windows Server 2016-配置Windows Defender防病毒排除项
    Windows Server 2016-增强IPAM
    第五讲:虚拟化架构、特点及优势
    第四讲:虚拟化概念及相关知识介绍
    第三讲:云计算的产生和特点
    第二讲:云分类及服务模式
    第一讲:云计算基础知识第一讲:云计算概念
    每天一个linux命令(56)--crontab命令
    每天一个linux命令(55)--at命令
    每天一个linux命令(54)--watch命令
  • 原文地址:https://www.cnblogs.com/zhouxuchong/p/11265722.html
Copyright © 2011-2022 走看看