python 存根_pyi文件是干吗的?(一文读懂Python的存根文件和类型检查)

2023-10-27

参考资料:html

写这篇文章的缘由是我在网上下载的项目中看到了.pyi文件,可是寻找了不少资料才对这些个概念(存根文件、类型检查)有了一个直观的印象。这篇随笔的目的是用最短的篇幅让你理解这些概念!测试

首先我介绍几个论断:this

1. PEP484spa

首先PEP是Python社区使用的规范化文档(就好像IETF用的rtf),PEP484这个文档是对type hint做规范化的文档!它规范化了type hint所需的语法用法...好比若是你关心stub存根文件是怎么作规范化的,你能够看参考资料2。.net

2.type checkercode

PEP484只是一个规范化的文档,没有给出具体的hint软件。事实上有一个内置模块叫typing,但它是让你用规范的语法写type hint的。不是一个类型检查器!!!htm

问:有哪些类型检查器可用?答:Pycharm内置有type checker,而且可用,明确支持stub file。mypy这个软件明确支持stub。其余的hinter,pyhinter等...我测试了一下,在vscode中效果不理想。

3.来看看,一个最简单的type hint,一个最简单的stub file长什么样

一个最简单的带annotation(type hint)的函数定义:

def greeting(name: str) -> str:

return "Hello" + name

一个最简单的stub file:

def greeting(name: str) -> str: ...</

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

python 存根_pyi文件是干吗的?(一文读懂Python的存根文件和类型检查) 的相关文章

  • 蓝桥杯C/C++省赛:逆波兰表达式

    目录 题目描述 思路分析 AC代码 题目描述 正常的表达式称为中缀表达式 运算符在中间 主要是给人阅读的 机器求解并不方便 例如 3 5 2 6 1 而且 常常需要用括号来改变运算次序 相反 如果使用逆波兰表达式 前缀表达式 表示 上面的算
  • 微信小程序生成二维码

    微信小程序生成二维码 官网api 先请求得到access token wx request url https api weixin qq com cgi bin token grant type client credential app
  • 点云如何使用k-d树进行查找(附pcl c++ 代码)

    如何使用k d树进行查找 在这篇教程中 我们将学习如何使用k d树来搜索某个特殊点或者区域的K最近邻域 然后我们也将学习如何在用户指定的一些半径内找到所有的邻居 在本案例中是随机生成的 k d树理论基础 k d树 又称k维树 是计算机科学中
  • 【Linux】linux服务管理、RPM包管理、源码包安装管理

    1 概述 以前学习做的笔记 现在拿出来 主要是linux服务管理 RPM包管理 源码包安装管理等相关内容 2 服务分类 启动与自启动 服务启动 就是在当前系统中让服务运行 并提供功能 服务自启动 自启动是指让服务在系统开机或重启动之后 随着
  • python学习:一个简单的广告数据集资源查找

    写在前面 作为小白的自己 为了找一个简单不过的数据集都这么难 感觉自己又菜又笨 其实不是 只是你不知道资源网址和途径 大家以后找数据集上外文网站 是免费的 不要傻傻的请求别人给数据集 或者付费 之前为了找一个简单的200行的数据集 找遍中文
  • MySQL存储过程

    文章目录 1 简介 2 语法结构 3 变量及赋值 3 1 局部变量 3 2 用户变量 3 3 会话变量 3 4 全局变量 4 入参出参 4 1 IN 入参 4 2 OUT 出参 4 3 INOUT 出入参 5 流程控制 判断 5 1 if
  • SpringBoot03:yaml配置注入

    目录 一 yaml语法学习 1 配置文件 2 yaml概述 3 yaml基础语法 3 1 字面量 普通的值 数字 布尔值 字符串 3 2 对象 Map 键值对 3 3 行内写法 3 4 数组 list set 二 注入配置文件 1 yaml
  • c语言中合法转义字符,判断c语言合法转义字符

    满意答案 UniTubeStar 2018 01 11 采纳率 45 等级 12 已帮助 5850人 单独一个 不是合法转义字符 转义字符 就是指 反斜杠后面的字符 不按原意 解释 而要按 转义 解释 转义字符 来源于英文 escape s
  • C++中extern “C”含义深层探索

    1 引言 C 语言的创建初衷是 a better C 但是这并不意味着C 中类似C语言的全局变量和函数所采用的编译和连接方式与C语言完全相同 作为一种欲与C兼容的语言 C 保留了一部分过程式语言的特点 被世人称为 不彻底地面向对象 因而它可
  • PHP获取当前系统时间戳(精确到毫秒,微秒)

    推荐 小程序版系统后台快速开发 推荐一个实时新闻接口 适合做新闻类APP 网站 小程序等 获取当前系统时间 精确到毫秒 return float function getMillisecond list t1 t2 explode micr
  • Yii Framework 开发教程(46) Zii组件-Sortable示例

    CJuiSortable显示一个列表 列表中的列表项可以通过拖放重新调整顺序 它封装了 JUI Sortable插件 其基本用法如下 php view plain copy print
  • ViewPager + TabLayout + Fragment 切换崩溃

    使用ViewPager TabLayout Fragment三件套来进行界面切换 刚开始只有两个fragment需要切换 一切正常 然后增加了一个fragment 切换前两个就正常 切换第三个然后想切换回第一个就崩溃了 原因是ViewPag
  • textarea随输入文本增加,其高度自动加大

    2019独角兽企业重金招聘Python工程师标准 gt gt gt 首先给出答案
  • GPU硬件结构和编程模型(源于nvidia的CUDA文档)

    GPU的硬件结构 GPU通过一个可扩展的多线程流式多处理器 SMs 构建 一个multiprocessor可以在同一时间处理上百个线程 为了管理这些线程 使用一个特殊的结构SIMT 利用单线程中指令级的并行 以及同步硬件多线程实现的广泛线程
  • 解决“volar.inlayHints.eventArgumentInInlineHandlers“: false` to hide Event Argument in Inline Handl

    今天遇到了一个很奇怪的问题 解决办法 在vscode中点击设置 在搜索框中输入eventArgumentInInlineHandlers 关闭红色框中的对号即可
  • 避免同一文件多次被include

    转载 url http c chinaitlab com cc basic 200805 748036 html url 为了避免同一个文件被include多次 C C 中有两种方式 一种是 ifndef方式 一种是 pragma once
  • rsync报错

    1 skipping non regular file 原因 源文件中存在软链接 解决办法 使用 a选项 2 skipping directory 原因 源文件中存在目录 默认rsync只同步文件 解决办法 使用 r选项
  • Win7和Win10 关闭驱动程序强制签名的方法

    随着windows的更新 微软对驱动签名的邀请越来越严格 Windows 10 1607以后的内核驱动没有微软签名都不能正常运行 建议大家将自己开发的驱动进行微软徽标认证 WHQL认证 以获取微软驱动签名 下面为大家介绍windows 7和
  • 拳王虚拟项目公社:淘宝虚拟货源怎么找?在哪里找虚拟资源,虚拟产品如何找到?

    淘宝的虚拟货源从哪来 卖家要知道虚拟产品有什么技巧 很多小伙伴开店开站卖的是虚拟产品 为什么新手更愿意选择虚拟产品开店呢 因为 虚拟店铺的成本非常低 利润却很高 相对于非虚拟的店铺 虚拟店铺是非常具有优势的 不过 在货源选择方面 大家同样要

随机推荐

  • 服务器被攻击怎么选择更好的方式去防御,IDC说的集防和单机防御都是什么意思

    只要是互联网覆盖到的地方 或多或少都会存在有网络攻击的情况 一但面对网络攻击 很有可能会出现服务器瘫痪业务无法正常进展的情况 那边怎么才能消除网络攻击的影响呢 那就是考虑接入使用高防服务器来抵挡网络攻击 高防服务器之所以称之为高防 是因为服
  • MyBatis动态SQL,foreach下批量插入

    MyBatis批量插入 mapper接口 mapping映射 测试 jdbc properties mapper接口 int forEachInsert Param list List
  • STATA基础笔记

    1 generate 可简化为 g ge gen help 简 h 2 变量也可简化 比如country 就用c 表示 前提是其他变量开头不带c 3 变量可以使用通配符 c 代表所有以c为首字母的变量 4 do文件 用来记录命令 log文件
  • 撸狗初体验

    直接上视频听我 BB https www bilibili com video av75675708 下面开始编故事 某个周末 走在去加班的路上 脚底突然被某个东西咯噔一下 抬脚一看 竟然是 捡起来一看 哈士奇 哈士奇 哈士奇 竟然是 DF
  • 编程中,有哪些好的习惯一开始就值得坚持?

    嗨 小伙伴们大家好 我是沉默王二 就是那个吹自己既有颜值又有才华的家伙 今天这个话题我觉得还是值得和大家探讨的 因为好的编程习惯对程序员的职业生涯真的非常重要 记得我在学驾照的时候 遇到一哥们 之前开过车 属于无证驾驶的那种 但是 这哥们科
  • 一键部署WeBase-FISCO-BCOS联盟链管理平台

    文章目录 一键部署 前置条件 实际使用环境 一 环境安装 ubuntu18 04 1 Java安装及环境变量配置 2 Mysql的安装及配置 3 python配置 PyMySQL部署 Python3 4 二 拉取webase部署脚本 修改w
  • PageHelper 分页查询「实现篇」

    两种情况 分两种情况 查出来为 PageQueryRespDTO 查出来直接是 Model 查出来为 PageQueryRespDTO public PageInfo
  • WS-Discovery(网络服务动态发现)协议再解读

    WS Discovery 网络服务动态发现 协议再解读 文章目录 WS Discovery 网络服务动态发现 协议再解读 1 概述 2 协议资料 3 协议介绍 1 适用范围 2 不适用 4 协议示例及wireshark抓包分析 1 客户端探
  • html想相关概念

    HTML Hypertext Markup Language 是一种用于创建网页的标记语言 它为开发者提供了一种结构化的方式来描述网页的内容和外观 本文将介绍HTML的基础知识和关键点 让读者了解如何使用HTML来构建现代网页 HTML的基
  • 将日志打印的SQL组装为可执行SQL_sublime版

    java项目日志打印的sql和条件参数是分离的 使用起来很不方便 之前为了解决这种问题 使用notepad 录制宏解决了这个问题 但是后期不方便维护 遂转用sublime 这个跟notepad 比起来有些东西不是很习惯 但是好处是插件可以自
  • 关于“网页埋点”的简单介绍与实现

    网页埋点的简单实现 本文抛开数据增长方法和埋点技术原理的大道理 通过一个简单的埋点小实例帮助大家更好的了解埋点 一 什么是数据埋点 埋点是网站和APP等产品进行日常改进及数据分析的数据采集基础 根据采集得到的用户行为数据 例如 页面访问路径
  • React源码分析(二)=> Reac初次渲染分析

    文章目录 1 render阶段 legacyRenderSubtreeIntoContainer 1 1 legacyCreateRootFromDOMContainer 1 1 1 ReactRoot 1 1 1 1 createFibe
  • [CM311-1A]-买了一个机顶盒准备刷成 Linux 盒子!

    目录 移动魔百盒 CM311 1A CM311 1A 配置 烧录系统盘将机顶盒刷成 Armbian 服务器教程发布啦 为什么非要买个盒子 拆后介绍 使用介绍 启动盒子 机顶盒怎么截屏 键盘鼠标操作 系统应用 系统设置 网络设置 空间管理 分
  • axios vue 加载效果动画_Vue 使用 axios 或者 vue-router 配置页面加载动画

    先提一笔 这篇文章是关于 Vue 页面加载动画的实现 以下介绍两种方法 使用 axios 配置全局中当发生 ajax 请求时 显示一个加载动画 当 ajax 请求结束后 隐藏加载动画 使用 Vue router 实现当页面跳转时有一个加载动
  • 图像I、B、P帧介绍

    I p b 帧 I帧 帧内编码帧 尽可能去除图像空间冗余信息来压缩传输数据量的帧内编码图像 P帧 前向预测编码帧 通过充分将低于图像序列中前面已编码帧的时间冗余信息来压缩传输数据量的编码图像 也叫预测帧 B帧 双向预测内插编码帧 既考虑与源
  • “区块链+物联网”的一场“网链”能顺利奔现吗?

    前不久 物联网安全高峰论坛在京举行 相关行业的专家在探讨物联网安全问题时不可避免地谈及区块链技术在物联网安全方面的独特价值 有专家指出 目前全球年产近百亿的智能终端控制芯片 真正能投入联网的还不足1 而阻碍物联网进一步发展融入大众生活中的
  • 使用Red Hat Insights注册RedHat系统

    文章目录 前因 Step 1 确认所选择的系统 Step 2 将系统注册到Red Hat Insights Step 3 具体操作演示 前因 使用SSH命令远程连接红帽系统 提示需要使用下面提示的命令进行系统注册订阅 C Users xyb
  • 【YOLOv7调整detect.py】1.调整检测框粗细,2.设定标签颜色,3.只显示与标签数目相同的检测结果

    目录 1 调整检测框粗细 2 设定标签颜色 3 只显示与标签数目相同的检测结果 1 调整检测框粗细 在detect py中按住Ctrl F检索line thickness定位过去 在129行左右 更改line thickness的大小即可
  • 启动nginx报错找不到 libssl.so.1.1

    项目场景 centOS7安装openresty后启动nginx报错 nginx error while loading shared libraries libssl so 1 1 cannot open shared object fil
  • python 存根_pyi文件是干吗的?(一文读懂Python的存根文件和类型检查)

    参考资料 html 写这篇文章的缘由是我在网上下载的项目中看到了 pyi文件 可是寻找了不少资料才对这些个概念 存根文件 类型检查 有了一个直观的印象 这篇随笔的目的是用最短的篇幅让你理解这些概念 测试 首先我介绍几个论断 this 1 P