假期(面试题五)

# 一、python是如何进行内存管理的?
    # 这个应该从三个方面来说:一是对象引用计数制,二是垃圾回收机制,三是内存池机制
    # 应用计数制:python内部使用应用计数,来保持追踪内存中的对象,所有对象都有引用计数;
    # 垃圾回收机制:当一个对象的引用计数为0的时候,它将会被垃圾回收机制处理;
    # 内存池机制:python提供了对内存的垃圾收集机制,但是它将不用的内存放到内存池而不是返回给操作系统

# 二、什么是lambda函数?他有什么好处?
    # lambda表达式,通常是在需要一个函数,但是又不想费时间去命名一个函数的场合下使用,也就是指匿名函数

# 三、python里如何实现tuple和list的转换
    # 直接使用tuple和list函数就行了,type可以判断对象的类型

# 四、请写出一段python代码实现删除一个list里面的重复元素
    # 1:使用set函数,set(list)
    # 2:使用字典函数:
    #     a = [1,2,3,4,5]
    #     b = {}
    #     b = b.fromkeys(a)
    #     c = list(b.keys())
    #     print(c)

# 五、编程用sort进行排序,然后从最后一个元素开始判断:
    # a=[1,2,4,2,4,5,7,10,5,5,7,8,9,0,3]
    # a.sort()
    # last = a[-1]
    # for i in range(len(a)-1,-1,-1):
    #     if last==a[i]:
    #         del a[i]
    #     else:
    #         last=a[i]
    # print(a)

# 六、python里如何拷贝一个对象?(赋值,浅拷贝,深拷贝的区别)
    # 赋值(=),就是创建了一个新的引用,修改其中任意一个变量都会影响另一个;
    # 浅拷贝:创建一个新的对象,但是它包含的是对原始对象中包含项的引用(如果用引用的方式修改其中一个,另一个也会被修改)
    # 深拷贝:创建一个新的对象,并且递归的复制它所包含的对象(修改其中一个,另一个不会改变)

# 七、python中pass语句的作用是什么?
    # pass语句不会执行任何操作,一般作为占位符或者是创建占位程序,while False:pass

# 八、介绍一下python下range()函数的用法
    # 列出一组数据,经常用在for i in range() 循环中

# 九、如何用python来进行查询和替换一个文本字符串?
    #可以使用re模块中的sub()函数或者subn()函数来进行查询和替换,或者用字符串的replace方法

# 十、用python匹配HTML标签的时候<.*>和<.*?>有什么区别?
    # <.*> 叫贪婪匹配,尽可能的匹配多的;<.*?>叫做非贪婪匹配,尽可能的匹配少的

# 单引号,双引号,三引号的区别是神呢么?
    # 单引号和双引号是等效的,如果用换行需要用
,或者三引号可以直接换行,并且还可以注释
原文地址:https://www.cnblogs.com/52-qq/p/8452945.html