整理一些面经

学习目标:掌握Python的基础,如元组、字典、列表、集合、迭代器、生成器、闭包、装饰器,了解python的多线程、内存管理、垃圾回收机制!(技巧:简历的专业技能也可以这么写哦!)
一、高频考题
1、元组和列表的区别:
元组使用小括号,列表使用方括号
元组声明和赋值后,不能像列表一样添加、删除和修改元素,也就是说元组在程序运行过程中不能被修改。列表在声明和赋值后,可以添加、删除和修改元素。tuple一旦初始化就不能修改,而且没有append()insert()这些方法,可以获取元素但不能赋值变成另外的元素。
Tuple由于其不可变性,适合表示一些不需要修改的数据,如日期、坐标等;List适合表示需要频繁修改的数据集合,如存储多个用户的信息。
Tuple在内存上的开销较小,存储的是对象的引用;List需要额外的内存来存储每个元素以及对其他对象的引用。
由于Tuple的不可变性,其访问速度比List更快,适合只需访问元素而不需要修改的数据。

2、列表、元组、集合、字典的区别是什么
在这里插入图片描述

3、深拷贝和浅拷贝的区别是什么
深拷贝(Deep Copy)和浅拷贝(Shallow Copy)是在复制对象或数据结构时所使用的两种不同的拷贝方法,它们之间的区别主要在于拷贝的程度和对原始对象内部结构的影响。
浅拷贝(Shallow Copy)
浅拷贝创建一个新的对象,但是只复制原始对象的基本数据类型的字段或引用(地址),而不复制引用指向的对象。这意味着新对象和原始对象中的引用指向相同的对象。
如果原始对象中的字段是基本数据类型,那么这些字段会被复制到新对象中,而如果字段是引用类型,则新对象和原始对- 象的对应字段将引用同一个对象。
因此,对新对象所做的修改可能会影响到原始对象,因为它们共享相同的引用。
深拷贝(Deep Copy)
深拷贝创建一个新的对象,并且递归地复制原始对象的所有字段和引用指向的对象,而不仅仅是复制引用本身。
深拷贝会递归复制整个对象结构,包括对象内部的对象,确保新对象和原始对象之间的所有关系都是独立的。
这意味着对新对象所做的修改不会影响到原始对象,因为它们拥有彼此独立的副本。

4、迭代器是什么?生成器是什么?两者的关系是什么?
5、什么是闭包?什么是装饰器?
6、说一下python的多线程、多进程、协程、守护进程/守护线程是什么?
7、解释一下python的GIL锁
8、python的内存管理是什么?
9、Python的垃圾回收机制是什么?
10、Python的内存泄露怎么办?怎么提高Python的执行效率?
二、Python基础知识
记住Python一切皆对象,对象的三大要素是:类型、值、地址
1、is 和 == 的区别是什么?

2、Python 的基础类型有哪些?

3、可变对象和不可变对象是什么?分别有哪些?

4、什么是值传递、什么是引用传递?

5、如何合并两个字典

6、面向对象的三大特征是什么?

7、什么是多态?

8、什么是鸭子类型?

三、Python常识性的知识

1、*arg 和**karg的区别是什么?

2、匿名表达式了解吗?列表推导式了解吗?

3、pass语句的作用是什么?

4、read、readline、readlines的区别是什么?

5、解释一下with关键字、解释一下self关键字

6、Python常用的内置包有哪些?

7、你用过哪些pip的第三方包?
三、Python常识性的知识

1、*arg 和**karg的区别是什么?

2、匿名表达式了解吗?列表推导式了解吗?

3、pass语句的作用是什么?

4、read、readline、readlines的区别是什么?

5、解释一下with关键字、解释一下self关键字

6、Python常用的内置包有哪些?

7、你用过哪些pip的第三方包?

题目来源:敲代码的毛毛虫(牛客)

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值