面试题
1.创建一个简单tcp服务器需要的流程
1.socket创建一个套接字 2.bind绑定ip和port 3.listen使套接字变为可以被动链接 4.accept等待客户端的链接 5.recv/send接收发送数据
2. Python中的字典是什么?
字典是C++和Java等编程语言中所没有的东西,它具有键值对。 >>> roots={25:5,16:4,9:3,4:2,1:1} >>> type(roots) >>> roots[9] 运行结果为: 字典是不可变的,我们也能用一个推导式来创建它。 >>> roots={x**2:x for x in range(5,0,-1)} >>> roots 运行结果: {25: 5, 16: 4, 9: 3, 4: 2, 1: 1}
3. 请解释使用*args和**kwargs的含义
当我们不知道向函数传递多少参数时,比如我们向传递一个列表或元组,我们就使用*args。 >>> def func(*args): for i in args: print(i) >>> func(3,2,1,4,7) 运行结果为: 3 2 1 4 7 在我们不知道该传递多少关键字参数时,使用**kwargs来收集关键字参数。 >>> def func(**kwargs): for i in kwargs: print(i,kwargs[i]) >>> func(a=1,b=2,c=7) 运行结果为: a.1 b.2 c.7