据说是面试题

面试题

王二学习python的笔记以及记录,如有雷同,那也没事

听说是面试题,我就把课上听到的一些题总结,如下 

1. 一行代码换值,python容错高

1一行代码交换ab值
a = 1
b = 2
a, b = b, a
print(a, b)
2. 自动识别
a, b = [1, 2]
print(a, b)
a, b = (1, 20)
print(a, b)
a, b = [1, 2], ['dsd', 3]
print(a, b)

2.计算字符串中整数的个数

# 计算字符串中整数的个数
info = '1dsd12a1'
for i in info:
    if i.isalpha():
        info = info.replace(i, ' ')
l = info.split()
print(len(l))
content = 'sd2d1dsdsda1 fdsdfasf11dw'
# content = content + 's'
count = 0
dig_count = 0
while count < len(content):
    if content[count].isdigit():
        while content[count].isdigit():
            count += 1
            if count == len(content):
                break
        dig_count += 1
    else:
        count += 1
print(dig_count)

 3. 列表元素去重

li = [1, 2, 33, 33, 2, 1, 4, 5, 6, 6]
set_li = set(li)
print(set_li)
li = list(set_li)
print(li)

4. 元祖数据类型

# 面试题   元祖中只有一个元素,且啥都不加,则该元祖的数据类型为  元素类型
# 元祖中,空列表,则数据类型为列表
'''
# tu1 = ()
# tu2 = (1)
# tu3 = (1,)
# print(tu1, type(tu1))
# print(tu2, type(tu2))
# print(tu3, type(tu3))
tu1 = ([])
tu2 = ([1])
tu3 = ([1],)
print(tu1, type(tu1))
print(tu2, type(tu2))
print(tu3, type(tu3))
'''

 5.程序输出结果为(考察重复赋值)

d = lambda p:p*2
t = lambda p:p*3
x = 2
x = d(x)
x = t(x)
x = d(x)
print(x)

6.现有两元组('a','b'),('c','d'),请使用python中匿名函数生成列表[{'a':'c'},{'b':'d'}]   (考察lambda与内置函数的配合使用)

# 普通函数
'''
def func(ret):
    return {ret[0]:ret[1]}
ret = zip(('a', 'b'), ('c', 'd'))
res = map(func,ret)
print(list(res))
'''
# 匿名函数
'''
ret = zip(('a', 'b'), ('c', 'd'))
res = map(lambda x: {x[0]: x[1]}, ret)
print(list(res))
'''

7.程序输出结果:(考察迭代器,列表推导式,m为函数调用)

def multipliers():
    return [lambda x:i*x for i in range(4)]
print([m(2) for m in multipliers()])
# 请修改multipliers的定义来产生期望的结果。
def multipliers():
    return (lambda x:i*x for i in range(4))
print([m(2) for m in multipliers()])

 8.关于黏包问题

1.为什么会出现黏包问题
1.首先只有TCP协议中才会出现黏包
2.TCP是面向流的协议
3.在数据传输的过程中使用缓存机制来避免数据丢失
4.因此在连续发送小数据时,或接受大小不符的时候会出现黏包问题
5.本质是因为,接收数据的时候不知道发送数据的长短
2.解决黏包问题
1.在传输大量数据之前,先告诉接收端要发送的数据大小
2.通过struct模块来定制协议
posted @ 2019-03-17 15:53  王二被占用  阅读(99)  评论(0)    收藏  举报