使用 PyDev 在 Eclipse 中进行类型提示

2024-01-05

我正在学习 Python,在有了很多 PHP 经验之后,如果有类型提示在Python中。看起来 Eclipse 和 PyDev 不支持这个。有什么建议么?

例如,我想让我的IDE显示功能文档字符串 and types,当我使用它时,例如:

def f(x: int) -> int:
    r"""Adds 3 to x"""
    return x + 3

f(# and now IDE shows everything about types 

现在Python 2/3

对于局部作用域变量和函数参数 PyDev 有这样的:

assert isinstance(obj, MyClass)
obj. # here hint will work

虽然我猜这是一个没有记录的功能。这是 PyDev 的类型提示的官方页面 http://pydev.org/manual_adv_type_hints.html以及一些说明 Sphinx 语法的摘录。

class Example:

  def param(self, a):
    ''':type a: MyClass'''

  def var(self, iterable):
    for a in iterable: #: :type a: AnotherClass
        pass

不幸的是,这两种方法都不适用于班级成员。

因为,PyDev 4 还有一些类似于 PEP-484 的东西(见下文)。

class LatestExample:

  def listcase(self, param):
    ''':type param: list[str]'''

  def dictcase(self, param):
    ':type param: dict[str, MyClass]'

未来的Python 3

看看@slushy 的回答。毫无疑问,这就是未来。但暂时 PyDev 不支持函数注释,PEP-3107 https://www.python.org/dev/peps/pep-3107/,也不是新的PEP-484 https://www.python.org/dev/peps/pep-0484/@slushy 演示的东西。 PEP-484 将以某种有限的形式出现在 Python 3.5 中,并最终出现在 3.6 中。这是 BDFLPyCon 2015 演示 https://youtu.be/2wDvzy6Hgxg用于类型提示和 PEP-484。

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

使用 PyDev 在 Eclipse 中进行类型提示 的相关文章

  • 在 Python 中,部分函数应用(柯里化)与显式函数定义

    在 Python 中 以下方式是否被认为是更好的风格 根据更一般的 可能是内部使用的功能显式定义有用的功能 或者 使用偏函数应用来显式描述函数柯里化 我将通过一个人为的例子来解释我的问题 假设编写一个函数 sort by scoring 它
  • Python OverflowError:数学范围错误[重复]

    这个问题在这里已经有答案了 当我尝试这个计算时 出现溢出错误 output math exp 1391 12694245 100 我知道发生这种情况是因为使用的数字 超出了双精度数的范围 但有什么方法可以解决这个问题并获得输出值 有人可以帮
  • 生成 Flask 中使用的签名会话 cookie 值

    我正在用另一个需要将项目注入会话的 Flask 服务器代理 Flask 服务器 两台服务器具有相同的密钥 因此加密签名将相同 当使用 Flask 和会话时 http 响应包含一个 Set Cookie 标头session text 其中 t
  • 使用 glGetFloatv 检索 pyglet 中的模型视图矩阵

    我正在使用 pyglet 在 python 中进行 3D 可视化 并且需要检索模型视图和投影矩阵来进行一些选择 我使用以下方式定义我的窗口 from pyglet gl import from pyglet window import wi
  • 将 2D Panda 的 DataFrame 列表转换为 3D DataFrame

    我正在尝试创建一个将标签值保存到 2D DataFrame 的 Pandas DataFrame 这是我到目前为止所做的 我正在使用读取 csv 文件pd read csv并将它们附加到列表中 出于这个问题的目的 让我们考虑以下代码 imp
  • 按字符串子字符串的列过滤 Pandas 数据框

    我正在尝试使用列中的字符串值是数据框外部字符串的子字符串的条件来过滤数据框 下面的例子 df a b c hello bye hello reference str hello there output a c 一种方法可能是使用正则表达式
  • Python 中嵌套列表的排序和分组

    我有以下数据结构 列表的列表 4 21 1 14 2008 10 24 15 42 58 3 22 4 2somename 2008 10 24 15 22 03 5 21 3 19 2008 10 24 15 45 45 6 21 1 1
  • 使用 argparse 指定默认文件名,但不使用 --help 打开它们?

    假设我有一个对文件执行一些操作的脚本 它在命令行上获取此文件的名称 但如果未提供 则默认为已知文件名 content txt 说 与蟒蛇的argparse 我使用以下内容 parser argparse ArgumentParser des
  • 是否可以在 Jupyter 笔记本中显示控制台?

    我希望能够使用 Jupyter 笔记本中的控制台在环境中进行摆弄 添加额外的单元格意味着我总是必须滚动到最底部或在我想要 类似控制台 文本字段的任何地方创建新单元格 是否可以有一个永久的控制台窗口 例如在窗口底部 Thanks 您可以启动连
  • 如何使直方图列的宽度都相同

    我在操作直方图时遇到了一些麻烦 我有一个包含两列的 df 我将它们绘制为堆叠直方图 我将它们放入特定的垃圾箱中 请参阅下面的代码 但我想在最后制作一个大垃圾箱 4000 10000 但是 默认情况下 大垃圾箱的列宽很大 有没有办法让这个大垃
  • 进行异步调用时,“yield”在龙卷风中如何工作?

    最近我在学习龙卷风简介 我遇到了以下代码 class IndexHandler tornado web RequestHandler tornado web asynchronous tornado gen engine def get s
  • Tkinter 如何根据此组合框自动更新第二个组合框

    我在 Tkinter Python 中遇到了组合框更新的问题 我有两个组合框 组合框A with values A B C and 组合框B 我想要的是 当值A在组合框中选择A然后在组合框中B显示值 1 2 3 当值B在组合框中选择A然后在
  • 尝试将 cuda 与 pytorch 一起使用时出现运行时错误 999

    我为我的 Geforce 2080 ti 安装了 Cuda 10 1 和最新的 Nvidia 驱动程序 我尝试运行一个基本脚本来测试 pytorch 是否正常工作 但出现以下错误 RuntimeError cuda runtime erro
  • Python itertools groupby 中令人不安的奇怪行为/错误?

    我在用itertools groupby解析一个短的制表符分隔的文本文件 文本文件有几列 我想做的就是对具有特定值的所有条目进行分组x在特定的列中 下面的代码对名为的列执行此操作name2 寻找变量中的值x 我尝试使用以下方法来做到这一点c
  • 返回吃异常

    我至少发现了以下行为weird def errors try ErrorErrorError finally return 10 print errors prints 10 It should raise NameError name E
  • 如何使用资源模块来衡量函数的运行时间?

    我想使用Python代码测量函数的CPU运行时间和挂钟运行时间 此处建议资源模块 如何以 Python 代码 不是从终端 的形式分别测量函数的 CPU 运行时间和挂钟运行时间 https stackoverflow com q 192046
  • python 相当于 sed

    有没有一种方法 无需双循环即可完成以下 sed 命令的操作 Input Time Banana spinach turkey sed i Banana s Toothpaste file Output Time BananaToothpas
  • 将 .parquet 编码为 io.Bytes

    目标 将 Parquet 文件上传到 MinIO 这需要将文件转换为字节 我已经能够做到这一点了 csv json and txt bytes data to csv encode utf 8 bytes json dumps self d
  • 真实值与预测值的降维可视化

    我有一个数据框 如下所示 label predicted F1 F2 F3 F40 major minor 2 1 4 major major 1 0 10 minor patch 4 3 23 major patch 2 1 11 min
  • 使用 TkInter 绑定设置不可交互(点击)覆盖

    我已经浏览了其他几篇关于类似问题的帖子 所有这些似乎都指向this https stackoverflow com questions 29458775 tkinter see through window not affected by

随机推荐

  • 使用 Anaconda 安装 Pygame

    我正在尝试在 Mac 上安装 pygame 并遇到大量错误 我不能百分百确定这告诉了我什么 但它告诉了我很多 是不是说Pygame只兼容Python 3 5 因为 StackOverflow 上还有另一张票 在 Mac 上使用 anacon
  • 使用 gtag.js 获取客户端 ID

    谷歌发布gtag js https developers google com analytics devguides collection gtagjs 几个月前 作为 Google Analytics 跟踪的新方式 据我了解 最终取代了
  • Perl方法调用可以被拦截吗?

    你能在 Perl 中拦截一个方法调用 对参数做一些事情 然后执行它吗 是的 您可以拦截 Perl 子例程调用 我有一整章关于这类事情掌握 Perl http www masteringperl org 查看钩子 LexWrap http s
  • 如何将map转换为Spark的RDD

    我有一个数据集 它是一些嵌套映射的形式 它的 Scala 类型是 Map String LabelType Map Int Double 首先Stringkey 是每个样本的唯一标识符 value 是一个包含标签 为 1 或 1 的元组 以
  • Haxl 和 Stitch 中的并发数据访问

    这是我之前的后续question https stackoverflow com questions 27591599 are futures in scala really functional 据我了解Haxl http www cs
  • 如何将 Pillow EPS 调整为 JPG 质量

    我正在尝试使用 Pillow 将 EPS 图像转换为 JPEG 但结果质量较低 我正在尝试使用resize方法 但它被完全忽略了 我将 JPEG 图像的大小设置为 3600 4700 但结果图像有 360 470 尺寸 我的代码是 eps
  • Rails 对现有的 ActiveRecord 结果数组进行分页

    我通常在应用程序中使用 will paginate 进行分页 但我的搜索功能遇到了问题 我正在使用 Thinking Sphinx 进行全文搜索 它返回分页的结果 我遇到的问题是 在收到 Thinking Sphinx 的结果后 我需要将它
  • 使用带有子进程、Pipe、Popen 的 python 从 hdfs 读取/写入文件会出现错误

    我正在尝试在 python 脚本内读取 打开 和写入 hdfs 中的文件 但有错误 有人可以告诉我这里出了什么问题吗 代码 完整 sample py usr bin python from subprocess import Popen P
  • 我可以让堆太大吗?

    我明白 一个更大的堆意味着更长的 GC 暂停时间 https stackoverflow com questions 1651225 how to choose the jvm heap size 我对此表示同意 我的代码正在分析一些数据
  • 在c中将128分配给char变量

    输出是 128 的 32 位 2 的补码 即 4294967168 怎么样 include
  • 在 Spark Web UI 中无法看到已完成的作业

    我在用 bin spark submit运行我的 Spark 作业 它运行良好 但打开 Spark Web UI 我在已完成列表中看不到作业 bin spark submit name myapp master local conf spa
  • PyParsing 前瞻和贪婪表达式

    我正在使用 PyParsing 为查询语言编写解析器 并且我陷入了 我认为是 前瞻问题 查询中的一种子句类型旨在将字符串拆分为 3 个部分 字段名 运算符 值 其中字段名是一个单词 运算符是一个或多个单词 值是一个单词 带引号的字符串或带括
  • Xcode 8 故事板错误

    任何人都可以帮助我 我出了问题 我看不到我的故事板视图 子视图 图像视图 全部变成白色 并且显示错误 就像故事板文件一样 发生内部错误 编辑功能可能受到限制 我已经在 xcode 8 和 8 1 beta 最新 xcode 中打开我的项目
  • CSS/DOM 中是什么阻止了带有 display: block 的输入框扩展到其容器的大小

    HTML CSS 示例 div class container div
  • iOS 启动时间会漂移吗?

    我使用此代码来确定我的 iOS 设备上次重新启动的时间 int mib MIB SIZE size t size struct timeval boottime mib 0 CTL KERN mib 1 KERN BOOTTIME size
  • Celery,调用延迟并倒计时

    我想了解芹菜的工作原理 在我的 django 应用程序中tasks py文件我创建了一项任务 celery shared task default retry delay 2 60 max retries 2 def my task par
  • 英语动词变形

    有人知道我可以在动词词典 现在分词 上使用的英语动词变形器 它可以给我动词的其他变形形式吗 例如 I give it I get run ran running runs sing sang singing sings play playe
  • 通过构建 has_many

    我有两个型号 用户及帐号如下 class Account lt ActiveRecord Base has many manages has many users through gt manages end class User lt A
  • 用整数范围填充选择器视图的最有效方法?

    我在 iOS 应用程序 iPhone 中有一个简单的 UI 选择器视图 我希望在启动时预先填充一系列数字 填充它的最务实 最快 优化的方法是什么 我是 iOS 开发新手 所以我才刚刚开始试水 该文档相当不错 但我想从经验丰富的开发人员那里获
  • 使用 PyDev 在 Eclipse 中进行类型提示

    我正在学习 Python 在有了很多 PHP 经验之后 如果有类型提示在Python中 看起来 Eclipse 和 PyDev 不支持这个 有什么建议么 例如 我想让我的IDE显示功能文档字符串 and types 当我使用它时 例如 de