面试实例~2020-02-21

Python 基本数据类型

Python3中有六个标准的数据类型,分别是:

Number(数字)
String(字符串)
List(列表)
Tuple(元组)
Set(集合)
Dictionary(字典)

对于这个六个标准数据类型,它们的可变情况为:

不可变数据类型:Number、String、Tuple
可变数据类型:List、Set、Dictionary

Python 可变类型的拷贝操作

Python 直接赋值、浅拷贝和深度拷贝解析
这里以List来进行提问。

  1. List直接赋值
a = [0, 1, ['a', 'b', 'c'], 3]
b = a 

在这里变量a和b都指向的是同一个内存地址,因此a或b做任何变化,对方也会跟着变化。

id(a) == id(b) # True
  1. 浅拷贝
import copy
c = copy.copy(a)

因为使用了copy,相当于开辟了一块新的内存空间,将a的值填充到该空间后,赋值给c。

id(a) == id(c) # False

此时改变a中的元素,则有:

a[0] = 9
print(a) # [9, 1, ['a', 'b', 'c'], 3]
print(c) # [0, 1, ['a', 'b', 'c'], 3]

换句话说,浅拷贝的本质是:

for i, j in zip(a, c):
    print(id(i) == id(j)) 
# False
# True
# True
# True

浅拷贝可以理解为重新创建了一个壳,这个壳和原来的不一样,但是两者内部的元素指向的地址是一致的。

  1. 深拷贝
d = copy.deepcopy(a)
id(a) == id(d) # False
for i, j in zip(a, c):
    print(id(i) == id(j)) 
# True
# True
# False
# True

可以看到,两者的外层壳和内部引用都变得不一致了。

Python 元类

待了解。

Python 多进程与多线程

找时间补充该部分内容。

Python web框架

回头得搞一搞django。

MySQL

过去一年主要用的mongodb,而绝大多数公司常规用的是MySQL,因此必须弄熟!

网络通信流程

从输入URL到浏览器显示页面发生了什么
在浏览器输入 URL 回车之后发生了什么(超详细版)
如何生动形象、切中要点地讲解 OSI 七层模型和两主机传输过程?
计算机网络协议

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。