python基础面经八股
生成器,用yield写出来的特殊迭代器,保存执行的位置,手写迭代器的话需要自己维护状态,生成器代码简短不易出错。顶部元素为最小元素,当某个元素大于顶部元素,顶部元素弹出,加入这个元素调整堆。本质:函数作为参数传入,返回包装后的新函数,可以实现前后置增强。*args位置参数,返回的是一个tuple元组。类方法,通过类.方法调用,参数为cls指向子类。**kwargs关键字参数,返回的是dict。实例
·
文章目录
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让出控制权给事件循环
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐
所有评论(0)