面试题目一

本文提出了一系列Python编程挑战,包括变量交换、参数处理、类型理解、列表操作、代码输出预测、字符串处理、字典操作、排序算法、文件系统遍历、装饰器使用、深浅复制区别、单例模式、类方法与静态方法、正则表达式应用、多线程GIL概念、生产者消费者模式、进程间通信、socket粘包解决、协程应用等,旨在提升读者的Python编程技能。
一、用一行代码实现变量a和b的数值交换: a = 1  b = 2
 
二、定义一个方法f,使其能接收所有格式的参数
 
三、is和==的区别
 
四、Python中哪些类型是可变类型,哪些类型是不可变类型
 
五、请用一行代码去掉列表[2,12,10,2,33,12,20]中重复的值
 
六、下面代码会输出什么:
def f(x,l=[]):
    for i in range(x):
        l.append(i*i)
    print l
f(2)
f(3,[3,2,1])
f(3)

七、用map方法和列表推导式把['aa','bb','cc']变成['a','b','c']
 
八、找到字典中得分最高的人的名字的方法
d = {'ben':20, 'lili':32, 'lucy':16, 'mark':28}
 
九、请用冒泡排序使列表l=[12,33,6,3,18,24]从大到小排序
 
十、用递归的方法输出一个文件夹下面所有的文件的绝对路径
 
十一、有如下函数
def f(a):
  print(a)
请写一个装饰器,执行此函数并打印函数执行的时间
 
十二、深复制和浅复制的区别是什么,请举例说明?
 
十三、定义一个类,用__new__方法写出单例模式
 
十四、有一个类
class P():
  def __init__(self):
    self.num = 100
  def show(self):
    print(self.num)
请定义一个子类,定义一个show方法,既实现了父类的show方法,又输出了自己的类的名字
 
十五、怎么定义一个类A的私有属性name?在类的外部访问这个属性要怎么写?
 
十六、定义一个类Student,再定义一个静态方法getname,和一个类方法getage
 
十七、写出开头匹配字母和下划线,末尾是数字的正则表达式?
 
十八、s = 'abbbccc',用正则匹配把变量s改为 abc,不管有多少b和c,就出现一次?
 
十九、字符串
s = '''
<div>
<img width=20 src="1.png" id="m1">
<iframe src="a.html">
<img height=30 src="2.jpg">
<img src="3.gif" class="m3">
<iframe src="b.html">
<img class="a" src="4.png">
</div>
'''
用正则找出所有图片地址,结果['1.png', '2.jpg', '3.gif', '4.png']
 
二十、字符串
s='<div>Hello,<a>My</a><b>Name</b>Is<span>Lucy</span></div>'
用正则去掉所有标签,结果 "Hello,MyNameIsLucy"
 
二十一、多线程中的GIL是什么?为什么会有GIL?
 
二十二、分别用生成器(yield)和多线程的队列实现生产者和消费者模式(做包子吃包子)
 
二十三、进程之间进行通信有几种方法,请写出Manager通信的例子?
 
二十四、为了解决socket中的粘包,应该怎么做?
 
二十五、请用协程的方式,写出一个简单的socket服务端和客户端的收发数据

 

转载于:https://www.cnblogs.com/renshaoqi/p/10182425.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值