面试题

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
posted @ 2018-12-27 13:57  繁星十月  阅读(118)  评论(0编辑  收藏  举报