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让出控制权给事件循环

相关推荐
超梦dasgg15 分钟前
Java 生产环境 MQ 技术选型全解析
java·开发语言·java-rocketmq·java-rabbitmq
桀人1 小时前
C++——模板初阶(收录在专栏C++入门到精通)
开发语言·c++
一直有一个ac的梦想1 小时前
cmu15445 2025fall lec 18 transactions with two-phase lock
java·开发语言·数据库
毋语天1 小时前
FastAPI 进阶实战:请求体、文件上传、响应模型与数据校验
python·fastapi·api开发·数据校验·pydantic
JAVA社区1 小时前
Java进阶全套教程(四)—— SpringMVC框架详解
java·开发语言·spring·面试·职场和发展
Lumbrologist1 小时前
【C++】零基础入门 · 第 2 节:变量、基本数据类型与输入输出
java·开发语言·c++
码完就睡2 小时前
C语言——动态内存
c语言·开发语言
xyq20242 小时前
Java 数组
开发语言
雨辰AI2 小时前
人大金仓 V9 生产级专用监控大盘(含 120 + 指标 + 告警规则 + 一键导入)
java·开发语言·数据库·mysql·政务