python经典面试题系列(二)

本文详细探讨了Python编程中的关键面试题目,涵盖了文件读取操作、列表操作、字符串处理、类与对象、面向对象特性、单例与工厂模式等。深入讲解了read、readline、readlines的区别,列表打乱、字符串反转的方法,以及单下划线、双下划线的用途。同时,介绍了Python的类方法、静态方法和实例方法的区别,以及isinstance与type的区别,单例模式和工厂模式的应用。文章还讨论了如何判断函数和方法,计算特定组合的数字,并展示了处理字符串空格的不同方式。

1.简述 read、readline、readlines 的区别


read 读取整个文件

readline 读取下一行,使用生成器方法

readlines 读取整个文件到一个迭代器以供我们遍历

2.打乱一个列表


list2 = [1, 2, 3, 4, 5, 6]
random.shuffle(list2)
print(list2)

output

[4, 6, 5, 1, 2, 3]

3.反转字符串


str1 = 'luobodazahui'
str1[::-1]

output

'iuhazadoboul'

4.单下划线和双下划线的作用


__foo__:一种约定,Python 内部的名字,用来区别其他用户自定义的命名,以防冲突,就是例如__init__(),__del__(),__call__()这些特殊方法。

_foo:一种约定,用来指定变量私有。不能用 from module import * 导入,其他方面和公有变量一样访问。

__foo:这个有真正的意义:解析器用_classname__foo 来代替这个名字,以区别和其他类相同的命名,它无法直接像公有成员一样随便访问,通过对象名._类名__xxx 这样的方式可以访问。

5.新式类和旧式类


a. 在 python 里凡是继承了 object 的类,都是新式类

b. Python3 里只有新式类

c. Python2 里面继承 object 的是新式类,没有写父类的是经典类

d. 经典类目前在 Python 里基本没有应用

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值