python基础面经八股

文章目录

1.*args vs **kwargs区别

*args位置参数,返回的是一个tuple元组

**kwargs关键字参数,返回的是dict

2.实例方法 / 类方法 / 静态方法区别

实例方法,需要实例化对象,通过对象调用方法

类方法,通过类.方法调用,参数为cls指向子类

静态方法,放在类里面的工具函数

3.装饰器的原理

本质:函数作为参数传入,返回包装后的新函数,可以实现前后置增强

4.迭代器和生成器

迭代器,通过next取值

生成器,用yield写出来的特殊迭代器,保存执行的位置,手写迭代器的话需要自己维护状态,生成器代码简短不易出错

5.上下文管理器with

保证退出一定会做清理和释放,可以理解为是try/finally的语法糖

6.slots

限制类的属性,节省内存,加速访问速度

7.一亿个数找前10最大的数字

小顶堆,堆大小设置为10.

顶部元素为最小元素,当某个元素大于顶部元素,顶部元素弹出,加入这个元素调整堆

8.async/await(异步)

async def:定义协程函数

await:定义一个可等待对象,等待I./O让出控制权给事件循环

相关推荐
你怎么知道我是队长3 分钟前
C语言---未定义行为
java·c语言·开发语言
2501_9421917710 分钟前
基于YOLO11-HSFPN的数字检测与识别模型实现详解
python
没有bug.的程序员15 分钟前
Java 序列化:Serializable vs. Protobuf 的性能与兼容性深度对比
java·开发语言·后端·反射·序列化·serializable·protobuf
Clarence Liu40 分钟前
AI Agent开发(2) - 深入解析 A2A 协议与 Go 实战指南
开发语言·人工智能·golang
业精于勤_荒于稀1 小时前
异常梳理aaaa
开发语言·qt
黎雁·泠崖1 小时前
Java面向对象:对象内存图+成员与局部变量
java·开发语言
忧郁的橙子.1 小时前
26期_01_Pyhton基本语法
python
sunfove1 小时前
实战篇:用 Python 徒手实现模拟退火算法解决 TSP 问题
开发语言·python·模拟退火算法
jiunian_cn1 小时前
【C++】IO流
开发语言·c++