热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

太好啦!微软推出的VSCodePython插件Pylance啦!

微软推出的VSCodePython语言插件Pylance,给Python带来编译语言般的开发支持。对于最近更新的VSCode版本,除了保留Pylance

微软推出的 VS Code Python 语言插件 Pylance,给 Python 带来编译语言般的开发支持。对于最近更新的 VS Code 版本,除了保留 Pylance 原始特性外,又引入了新特性。

在这里插入图片描述
Pylance 是微软今年推出的 Python 语言服务器,可以利用语言服务器协议与 VS Code 进行通信。Pylance 在 VS Code 中为 Python 提供了快速、特性丰富的语言支持,并依赖于核心的 Python 扩展,从而极大地改善了 VS Code 中的 Python 体验。

随着本月 VS Code 的更新,Pylance 可以执行用户期待已久的操作,将 Python 开发体验带到一个新的水平。在本文中,机器学习工程师 Dimitris Poulopoulos 将为读者介绍 Pylance 的功能以及在新版 VS Code 中的可用最新特性。

Python stub 文件

Pylance 利用类型 stub 文件(.pyi 文件)和惰性类型推断为使用者提供了高效的开发体验。

什么是 stub 文件呢?

Stub 文件为 Python 模块提供类型提示信息。完整的官方信息可以在 PEP-484 中的 Stub-files 章节中找到。例如,下面的 Python 函数存在于 my_function.py 模块:

def add(a, b):return a + b

很多人学习python,不知道从何学起。
很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手。
很多已经做案例的人,却不知道如何去学习更加高深的知识。
那么针对这三类人,我给大家提供一个好的学习平台,免费领取视频教程,电子书籍,以及课程的源代码!
QQ群:810735403

我们也可以创建一个新的 stub 文件 my_function.pyi,以提供类型提示:

def add(a: int, b: int) -> int: ...

注意:在 stub 文件中,定义函数末尾的「…」是语法的一部分。

然而,我们可以在 Python 模块中插入类型提示,而不需要创建新的 stub 文件,如下代码所示

def add(a: int, b: int) -> int:return a + b

问题来了:我们为什么要使用 stub 文件呢?这里有几个原因:例如保持. py 文件向后兼容;向现有代码库中提供类型提示,并希望尽量减少源代码本身的更改等等。

讲完 stub 文件优点,我们再回到 Pylance 本身。stub 文件通过丰富的类型信息增强了 Python IntelliSense 体验,帮助开发者更快地编写代码。更重要的是,Pylance 已经为流行模块提供了一个 stub 集合,其内置的 stub 库提供精确的类型检查以及快速自动补全功能。

Pylance 特性展示

和其他 Python 语言服务器一样,Pylance 也是围绕提升开发效率和体验进行优化。Pylance 特性有很多,下面介绍几个比较重要的特性:

类型信息显示:当你把鼠标悬浮在对应的函数上方时,就可以显示对应的函数文档。
在这里插入图片描述
自动导入功能:在使用 Pycharm 的时候,当用到某个包或者模块时,可以通过快捷键 Alt+Enter 快速导入对应的模块。通过 Pylance 也可以实现相同的功能,现在我们可以自动导入已经安装好的标准库模块。
在这里插入图片描述

类型检查:类型检查可以帮助我们验证参数在传入函数执行前类型是否正确。Pylance 中类型检查默认是关闭的,需要在设置中启动,操作方法为:设置「python.analysis.typeCheckingMode」为「basic」或者是「strict」。
在这里插入图片描述

VS Code 更新引入了 Pylance 新特性

最近,VS Code 更新引入了几个新的 Pylance 特性,其中代码提取和 Pylance Insiders 程序非常重要。

代码提取:我们可以通过单击来提取代码中的方法和变量。
在这里插入图片描述
Pylance Insiders:Pylance Insiders 程序,它提供了对新语言服务器特性和改进的早期访问。要启用 insiders,请设置「pylance.insidersChannel」:「daily」。

在这里还是要推荐下我自己建的Python开发交流学习(qq)群:810735403,群里都是学Python开发的,如果你正在学习Python ,欢迎你加入,大家都是软件开发党,不定期分享干货(只有Python软件开发相关的),包括我自己整理的一份2021最新的Python进阶资料和高级开发教程,欢迎进阶中和想深入Python的小伙伴!

**以下内容无用,为本篇博客被搜索引擎抓取使用
(* ̄︶ ̄)(* ̄︶ ̄)(* ̄︶ ̄)(* ̄︶ ̄)(* ̄︶ ̄)(* ̄︶ ̄)(* ̄︶ ̄)(* ̄︶ ̄)
python 是干什么的 零基础学 python 要多久 python 为什么叫爬虫
python 爬虫菜鸟教程 python 爬虫万能代码 python 爬虫怎么挣钱
python 基础教程 网络爬虫 python python 爬虫经典例子
python 爬虫
(* ̄︶ ̄)(* ̄︶ ̄)(* ̄︶ ̄)(* ̄︶ ̄)(* ̄︶ ̄)(* ̄︶ ̄)( ̄︶ ̄)( ̄︶ ̄)
以上内容无用,为本篇博客被搜索引擎抓取使用


推荐阅读
  • Java虚拟机及其发展历程
    Java虚拟机(JVM)是每个Java开发者日常工作中不可或缺的一部分,但其背后的运作机制却往往显得神秘莫测。本文将探讨Java及其虚拟机的发展历程,帮助读者深入了解这一关键技术。 ... [详细]
  • 本文探讨了使用Python实现监控信息收集的方法,涵盖从基础的日志记录到复杂的系统运维解决方案,旨在帮助开发者和运维人员提升工作效率。 ... [详细]
  • 如何高效学习鸿蒙操作系统:开发者指南
    本文探讨了开发者如何更有效地学习鸿蒙操作系统,提供了来自行业专家的建议,包括系统化学习方法、职业规划建议以及具体的开发技巧。 ... [详细]
  • 服务器虚拟化存储设计,完美规划储存与资源,部署高性能虚拟化桌面
    规划部署虚拟桌面环境前,必须先估算目前所使用实体桌面环境的工作负载与IOPS性能,并慎选储存设备。唯有谨慎估算贴近实际的IOPS性能,才能 ... [详细]
  • binlog2sql,你该知道的数据恢复工具
    binlog2sql,你该知道的数据恢复工具 ... [详细]
  • Asynchronous JavaScript and XML (AJAX) 的流行很大程度上得益于 Google 在其产品如 Google Suggest 和 Google Maps 中的应用。本文将深入探讨 AJAX 在 .NET 环境下的工作原理及其实现方法。 ... [详细]
  • Hibernate全自动全映射ORM框架,旨在消除sql,是一个持久层的ORM框架1)、基础概念DAO(DataAccessorOb ... [详细]
  • 本文探讨了Python类型注解使用率低下的原因,主要归结于历史背景和投资回报率(ROI)的考量。文章不仅分析了类型注解的实际效用,还回顾了Python类型注解的发展历程。 ... [详细]
  • Hadoop MapReduce 实战案例:手机流量使用统计分析
    本文通过一个具体的Hadoop MapReduce案例,详细介绍了如何利用MapReduce框架来统计和分析手机用户的流量使用情况,包括上行和下行流量的计算以及总流量的汇总。 ... [详细]
  • 在使用mybatis进行mapper.xml测试的时候发生必须为元素类型“mapper”声明属性“namespace”的错误项目目录结构UserMapper和UserMappe ... [详细]
  • 一、使用Microsoft.Office.Interop.Excel.DLL需要安装Office代码如下:2publicstaticboolExportExcel(S ... [详细]
  • 本文介绍了如何使用 Python 的 Pyglet 库加载并显示图像。Pyglet 是一个用于开发图形用户界面应用的强大工具,特别适用于游戏和多媒体项目。 ... [详细]
  • C/C++ 应用程序的安装与卸载解决方案
    本文介绍了如何使用Inno Setup来创建C/C++应用程序的安装程序,包括自动检测并安装所需的运行库,确保应用能够顺利安装和卸载。 ... [详细]
  • WebBenchmark:强大的Web API性能测试工具
    本文介绍了一款名为WebBenchmark的Web API性能测试工具,该工具不仅支持HTTP和HTTPS服务的测试,还提供了丰富的功能来帮助开发者进行高效的性能评估。 ... [详细]
  • 视觉Transformer综述
    本文综述了视觉Transformer在计算机视觉领域的应用,从原始Transformer出发,详细介绍了其在图像分类、目标检测和图像分割等任务中的最新进展。文章不仅涵盖了基础的Transformer架构,还深入探讨了各类增强版Transformer模型的设计思路和技术细节。 ... [详细]
author-avatar
独斟自饮醉
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有