Python面试题

本文列举了15道Python面试中常见的题目,涵盖字符串操作、类与继承、搜索匹配、内存管理、垃圾回收、设计模式等多个方面,旨在帮助读者理解和掌握Python编程的核心知识。
摘要由CSDN通过智能技术生成

1、写出r’123\n’*3的运行结果

123\n123\n123\n

拓展:print ‘123\n’*3

123
123
123

2、用for in 执行1亿次 自增操作

for i in xrange(100000000)
for i in range(100000000)
补充:xrange 用法与 range 完全相同,所不同的是生成的不是一个list对象,而是一个生成器。

3、

reduce(lambda x,i : x+i ,[ i for i in temp if i>0 and temp.index(i)%2==0  ])
补充:

map()
将序列中的元素通过处理函数处理后返回一个新的列表

filter()
将序列中的元素通过函数过滤后返回一个新的列表

reduce()
将序列中的元素通过一个二元函数处理返回一个结果

4、简述classmothed和staticmethod的区别

对于classmethod的参数,需要隐式地传递类名,而staticmethod参数中则不需要传递类名,其实这就是二者最大的区别。

二者都可以通过类名或者类实例对象来调用,因为强调的是classmethod和staticmethod,所以在写代码的时候最好使用类名。

对于staticmethod就是为了要在类中定义而设置的,一般来说很少这样使用,可以使用模块级(module-level)的函数来替代它。既然要把它定义在类中,想必有作者的考虑。

对于classmethod,可以通过子类来进行重定义。

5、请简述一下代码的作用options,args = getopt.getopt(sys.argv[1:],"hu:p:i:","url=","path=","port="])

首先getopt是用来处理命令行参数的,
默认参数 getopt(args, shortopts, longopts = [])
shortopts: 是短格式 (-)
longtopts: 是长格式 (--)
短格式中带: 表示后面要参数
长格式中带= 表示后面要参数
options,args都是列表,只是options列表中有元组,而args只是单纯的列表
options会将匹配到的参数,用类似key-value的形式保存在元组中,而没有配到的数据会保存到args中,
python getopt_init.py  --url=www.baidu.com -u www.baidu.com -p 88 -i 127.0.0.1 --port=88 55 66

#options结果
[('--url', 'www.baidu.com'), ('-u', 'www.baidu.com'), ('-p', '88'), ('-i', '127.0.0.1'), ('--port', '88')]
#args的结果
['55', '66']

6、已知A类,B类,C类(继承自A类),D类(继承自B类),E类(继承自C,D),如果A,D类都有个办法demo(),请问调用E类的demo的方法时,将会调用哪个基类的demo()方法?并说明原因

#c
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值