首页 > 其他分享 >lazy_loader attach_stub一种变体玩法

lazy_loader attach_stub一种变体玩法

时间:2024-10-04 08:51:37浏览次数:10  
标签:__ lazy 玩法 loader stub attach init

此方法在scikit-image包中可以明显看到使用

玩法流程

  • __init__.py直接基于attach_stub 进行定义懒加载,以后的使用就同时标准玩法了
  • 添加__init__.pyi 进行显示的引入定义,方便实现类型检查以及ide 的自动提示

一个参考玩法

  • __init__.py 定义
import lazy_loader as lazy
__getattr__, __dir__, __all__ = lazy.attach_stub(__name__, __file__)
  • __init__.pyi 定义
__all__ = ['applatform_login','platform_login']
 
from . import platform_login
from .platform_login import applatform_login
  • 使用效果

可以看到ide 包含了自动提示能力

说明

通过lazy_loader 的attach_stub ,同时能提供懒加载的能力,还能帮助我们进行类型提示,是比较值得使用的玩法

参考资料

https://github.com/scikit-image/scikit-image/blob/main/skimage/filters/init.py
https://github.com/scikit-image/scikit-image/blob/main/skimage/filters/init.pyi
https://github.com/scientific-python/lazy-loader/blob/main/lazy_loader/init.py#L304

标签:__,lazy,玩法,loader,stub,attach,init
From: https://www.cnblogs.com/rongfengliang/p/18354165

相关文章

  • lazy_loader python 子包以及函数懒加载框架
    lazy_loaderpython子包以及函数懒加载框架,内部处理上是基于了importlib.import_module进行动态加载包含的特性可以确保子模块对于用户的可见行,不引起而外的开销允许外部库在使用的时候被加载,提升导入时间说明此包在kedro的datasets模块中使用比较多,基本上每个datase......
  • 17_document的全量替换、强制创建以及图解lazy delete机制
    1、document的全量替换2、document的强制创建3、document的删除1、document的全量替换(1)语法与创建文档是一样的,如果documentid不存在,那么就是创建;如果documentid已经存在,那么就是全量替换操作,替换document的json串内容(2)document是不可变的,如果要修改document的内容,第一种......
  • 开启nginx_stub_status prometheus
    开启nginx_stub_statusprometheus要在Nginx中启用nginx_stub_status并将其数据暴露给Prometheus,你需要执行以下步骤:配置Nginx以使用stub_status。设置Prometheus的exporter来抓取nginx_stub_status页面。配置Prometheus服务来抓取exporter的数据。......
  • 编程和软件开发中,stub是什么意思?来源是什么?
    在编程和软件开发中,stub是一个临时的代码片段,用于模拟或替代实际的实现。它的主要用途包括:测试:在单元测试中,stub可以模拟一个函数或方法的行为,返回预定义的结果,以便测试其他部分的代码。这有助于隔离测试,确保测试的准确性和可靠性。原型设计:在原型设计阶段,stub可以用来快......
  • CF2005C Lazy Narek
    记录dp的设计。一开始设计的是f[i][j]表示最后一个选i,匹配到j的最大值,然而这样转移是\(n^2\)的,题目要求\(n*m\).设计成0,1背包,考虑第i个选择或者不选择即可。#include<bits/stdc++.h>usingnamespacestd;constintN=1e3+11;intf[N][6];intlef[N][6],val[N][6],to[N......
  • C. Lazy Narek
    https://codeforces.com/contest/2005/problem/C题意:n个长度为m的字符串,可以任意选取若干个字符串组合起来,然后从中选择narek5个字符拼凑字符串,拼凑成功加5分,如果字母是narek中的其中一个并且没有使用,则扣一分,求最大分数。思路:dp,维护一个长度为5的数组,依次考虑在当前字符串中以......
  • Codeforces Round 972 (Div. 2) 2005C. Lazy Narek 题解
    原题链接:https://codeforces.com/contest/2005/problem/C看了教程发现都是用dp做的,在这里分享一个差不多的SPFA的思路(赛场上忘了Dijkstra不能有负边所以炸了)时间复杂度与dp同样是O(nm)形式化题意和翻译:有n个长度为m的字符串,你可以选择或不选择来拼接它们,但是不能更改字符串的......
  • bustub使用简例
    要使用官方的bustub-web-shell,就需要安装vercle,但是它用上了一些新的语法糖,比如:if(typeofthis._dest?.[method]==="function"){(theme)=>theme?.style)store.hooksCleanup[index]?.();所以我希望在一个早上的时间部署完,而短时间内我没法在我的ubuntu20.04服务器上跑......
  • LazyForEach:数据懒加载
    文章目录前言一、LazyForEach是什么?LazyForEach懒加载的原理和渲染过程使用限制二、使用步骤1.实现提供的一个IDataSource的接口2.将数据包装到对象中,实现一系列增删改查的方法3.ForEach替换为LazyForEach即可总结前言在HarmonyOS中,我们经常会遇到长列表加载的......
  • 「漏洞复现」全程云OA AttachFile/UploadFile 任意文件上传漏洞
    0x01 免责声明请勿利用文章内的相关技术从事非法测试,由于传播、利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,作者不为此承担任何责任。工具来自网络,安全性自测,如有侵权请联系删除。本次测试仅供学习使用,如若非法他用,与平台和本文作者无关,需......