zoukankan      html  css  js  c++  java
  • python面试总结

    1. python在读取文件时,read(),readline()和readlines()有什么区别?

    举例说明:

    1 with open('a.txt', 'r') as f:
    2     result1 = f.read(n)    # 表示读取n个字节到result1中
    3     result2 = f.readline()    # 表示读取下一行到result2中
    4     result3 = f.readlines()    # 表示读取整个文件到result3中

    2、使用一行代码输出[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]

    result = [i ** 2 for i in range(1, 11)]
    print(result)

    3、编写一个递归函数

    # 编写一个n的阶乘
    def factorial(n):
        if n < 2:
            return 1
        return n * factorial(n-1)
    
    if __name__ == "__main__":
        factorial(5)

     4、简述python的垃圾回收机制

    1. python在内存中存储了每个对象的引用计数,如果计数值变成0,那么相应的对象就会减小,分配给该对象的内存就会自动释放出来用作他用。

    2. 偶尔也会出现循环引用。垃圾回收器会定时寻找这个循环,并将其回收。例如

    1 list1 = []
    2 list2 = []
    3 list1.append(list2)
    4 list2.append(list1)

    list1和list2相互引用,如果不存在其他对象对他们的引用,list1和list2的引用计数也仍然为1,所占用的内存永远无法被收回。

      3. python中使用了某些启发式算法来加速垃圾回收。例如,越晚创建的对象更有可能被回收,对象被创建之后,垃圾回收器会分配它们所属的代,每个对象都会被分配一个代,而被分配更年轻的代会先被处理。原理:将系统中的所有内存块根据其存活时间划分为不同的集合,每一个集合就成为一个“代”,垃圾收集的频率随着“代”的存活时间的增大而减小。也就是说,活得越长的对象,就越不可能是垃圾,就应该减少对它的垃圾收集频率。那么如何来衡量这个存活时间:通常是利用几次垃圾收集动作来衡量,如果一个对象经过的垃圾收集次数越多,可以得出:该对象存活时间就越长

      

      

      

  • 相关阅读:
    纯前端实现导入导出功能excel
    去除对象有undefined的值
    react组件传值
    获取当前日期的前一天
    uniapp之uni.navigateTo路由跳转传参,参数是对象
    解决uniapp代码在小程序中报错问题[ app.json 文件内容错误] app.json: app.json 未找到]
    css实现块级元素水垂直居中的方法
    JS深拷贝和浅拷贝
    VUE新增属性-数据更新页面不更新
    抄也能抄出不一样的代码,我真是个人才
  • 原文地址:https://www.cnblogs.com/l5623064/p/9127683.html
Copyright © 2011-2022 走看看