首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

mypy调用错误:类不能在石墨烯上继承'ObjectType‘(具有类型'Any')的子类

mypy是一个静态类型检查工具,用于在Python代码中发现类型错误。它可以帮助开发人员在编译时捕获潜在的类型错误,提高代码的可靠性和可维护性。

在这个问题中,mypy报告了一个错误,指出无法在石墨烯上继承'ObjectType'的子类,因为该子类具有类型'Any'。这意味着在石墨烯上无法正确地推断子类的类型。

石墨烯是一个开源的分布式图数据库,用于存储和查询大规模的图数据。它提供了高性能和可扩展的图计算能力。

解决这个问题的方法是,将子类的类型明确指定为合适的类型,而不是使用'Any'。这样mypy就可以正确地检查类型,并提供更准确的类型错误提示。

以下是一个示例代码,展示了如何解决这个问题:

代码语言:txt
复制
from graphene import ObjectType, String

class MyObjectType(ObjectType):
    name: str

    def resolve_name(self, info):
        return "Hello, World!"

schema = MyObjectType.as_schema()

在这个示例中,我们创建了一个名为MyObjectType的子类,它继承自graphene库中的ObjectType。我们明确指定了name属性的类型为str,这样mypy就可以正确地检查类型。

推荐的腾讯云相关产品是腾讯云图数据库TencentDB for Graph,它是一种高性能、高可靠性的图数据库服务,适用于存储和查询大规模的图数据。您可以通过以下链接了解更多信息:

TencentDB for Graph

希望这个答案能够帮助您解决mypy调用错误的问题,并了解到腾讯云的图数据库产品。如果您还有其他问题,请随时提问。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

流畅 Python 第二版(GPT 重译)(四)

如果告诉 Mypy x 类型是 abc.Sequence,它将标记 x * 2 为错误,因为 Sequence ABC 没有实现或继承 __mul__ 方法。...在daffy.py运行 Mypy 会引发与在birds.py中定义alert_bird函数中quack调用相同错误: …/birds/ $ mypy daffy.py birds.py:16:...鸭子类型万岁! 在运行时,Python 不关心声明类型。它只使用鸭子类型Mypy 在alert_bird中标记了一个错误,但在运行时使用daffy调用它是没有问题。...在 Python 中,协议定义被写作typing.Protocol子类。然而,实现协议不需要继承、注册或声明与定义协议任何关系。这取决于类型检查器找到可用协议类型并强制执行它们使用。...④ reveal_type() 不能在运行时调用,因为它不是常规函数,而是 Mypy 调试工具—这就是为什么没有为它导入任何内容。

31710

流畅 Python 第二版(GPT 重译)(七)

防御性编程和“快速失败” 防御性编程就像防御性驾驶:一套增强安全性实践,即使面对粗心程序员或驾驶员。 许多错误能在运行时捕获——即使在主流静态类型语言中也是如此。...ABCs 引入虚拟子类,这些子类继承自一个,但仍然被isinstance()和issubclass()所识别;请参阅abc模块文档。⁵ 鹅式类型检查是一种利用 ABCs 运行时类型检查方法。...例如,任何具有__float__方法在运行时被认为是SupportsFloat虚拟子类,即使__float__方法返回float。...Mypy 在该代码中没有看到任何错误,并显示了pick返回itemreveal_type结果: $ mypy randompick_test.py randompick_test.py:24: note...如果将来有人更改class语句以更改基或添加另一个基,他们可能会忘记更新__setitem__内容,从而引入错误。 第二个原因是,super实现了处理具有多重继承层次结构逻辑。

12810

用“鸟屎”调侃同行,石墨真的是加个“屎”都能发论文?

大数据文摘出品 作者:曹培信 最近一篇论文火了,论文名字叫做“Will Any Crap We Put into Graphene Increase Its Electrocatalytic Effect...和Hu-GO-BD具有更低电位。...四种材料电催化性能(A)ORR,(B)HER。图片来自“微算云平台” 总而言之,作者证明了鸟屎作为掺杂物石墨确实比非掺杂石墨具有电催化作用。 事实是超纯石墨太不行,所以加啥都更好?...事实石墨是一种“平面单层紧密打包成一个二维(2D)蜂窝晶格碳原子”,内部碳原子之间连接很柔韧,因此很难调控其电学特性,所以超纯石墨没有很好电催化性也很正常,然而采取掺杂杂质原子化学方法可以使其具备很好半导体特性...所以说,那些加各种掺杂物然后跟掺杂石墨比电催化性,完全就是加啥都能得到想要结果。

80610

mypy 这个工具,让Python类型提示变得非常实用

mypy 是 Python 中静态类型检查器。写完带有类型提示代码之后,先别运行行,用 mypy 命令来检查下你代码,如果有错误,会提示你,这让 Python 类型提示有了真正作用。...如果希望检查某一行,可以在注释加上"# type: ignore": y: int = "yyy" # type: ignore mypy 具有强大且易于使用类型系统,具有很多优秀特性,例如类型推断...、泛型、可调用类型、元组类型、联合类型和结构子类型。...一个典型 mypy.ini 配置文件如下: # Global options: [mypy] python_version = 3.7 warn_return_any = True warn_unused_configs.../en/stable/ 常见配置项: files 逗号分隔路径列表,如果命令行没有给出,则应由 mypy 检查,支持递归。

1.3K30

流畅 Python 第二版(GPT 重译)(八)

TypedDict 具有更多功能,包括支持可选键、有限形式继承以及另一种声明语法。...¹¹ 使用 Any具有传染性:由于 Any 与所有类型一致,滥用它可能通过类型推断产生级联效应,削弱类型检查器在代码其他部分检测错误能力。..._balls) ① 泛型声明通常使用多重继承,因为我们需要子类化Generic来声明形式类型参数——在本例中为T。...示例 16-8 和 16-9 中问题实际比晦涩错误消息更深:如果一个运算符特殊方法由于类型兼容而无法返回有效结果,它应该返回NotImplemented而不是引发TypeError。...然而,Python 运算符分发算法可能在与鸭子类型结合时产生误导性错误消息或意外结果。

14610

python类型检测最终指南--Typing使用

子类型是一个与动态类型相关概念,其中对象类型不如它定义方法重要。使用鸭子类型根本不需要检查类型,而是检查给定方法或属性是否存在。...如果判断None情况,在做静态类型检查时候会发生错误: 1 # player_order.py 2 3 from typing import Sequence, Optional 4 5...在一定程度上,这是不必要,因为self指向实例,所以它将具有类型。在Card示例中,self拥有隐式类型Card。此外,显式地添加这种类型会很麻烦,因为还没有定义该类。...Callables可调用类型 函数是Python中对象。可以使用函数作为其他函数参数。这意味着需要能够添加表示函数类型提示。...例如,Callable[[A1, A2, A3], Rt]表示一个函数,它有三个参数,分别具有A1、A2和A3类型。函数返回类型是Rt。

4.6K10

清华NLP博士生在读期间狂发100多篇论文,这啥情况...

其实,关于用论文模板发文这件事,早在2020年,因为石墨随便掺杂就能发文章,就有学者故意在石墨中掺杂鸟屎发文,以此来讽刺论文灌水现象。...自从石墨在2004年被发现以来,它就被广泛地应用到各个领域中,传感器,晶体管,柔性显示屏,海水淡化,航空航天,新能源材料,电催化剂等等,只要你能想起来领域基本都有石墨身影。...更神奇是,石墨甭管掺杂是吸电子还是给电子元素,结果都是催化性能好好好!!!...最后,有人看不下去了,选择用鸟屎来作为原料之一合成多元素掺杂石墨,与常规合成方法比较性能并成功发表。作者证明了鸟屎处理石墨确实使石墨比非掺杂石墨具有电催化作用。...东北话翻译过来就是“啥破烂玩意都能提升石墨催化性能?” 不管承承认,在某些研究领域,论文模板确实是存在。 这样回头再看这些论文,小募只能说:“懂都懂” 。

1.1K10

可维护Python代码库7条规则

Mypy查看所有源代码文件,检查类型规则是否满足要求。例如,传递给函数所有参数类型是否与函数签名兼容?对象上调用方法是否真正定义? Mypy不会运行你代码,所以它不会捕获所有的运行时bug。...反之,也可能不清楚为什么子类具有某些只在基中使用属性。子类a和do_something_else有什么意义? 由于基(部分)实现,不清楚子类在任何时候状态。...另一方面,对于组成,如果子类继承自基,我们如何表示它们之间相似性呢?在无类型 Python 中,不需要做任何事情,因为可以传递任何对象到任何地方。...但是如果使用静态类型检查,最好做法是定义接口。接口定义了最小属性和方法,这些属性和方法必须在实现才能被认为是一个子类型。...接口不应该有实现;实现由子类决定。当一个至少实现了接口中所有方法并具有所有属性时,类型检查程序自动将其视为一个子类型

24930

95后Nature狂魔曹原达成7连杀,一周发两篇Nature,每次都是枯燥感觉

这是他第7篇Nature论文,距离一篇只隔了一周时间。 3月31日,曹原与团队在Nature发表论文,曹原是以共同一作+通讯身份出现。 ? 果然,双发才是「曹原速度」。...该系统呈现丰富相图,具有可调谐相关绝缘体态,对扭转角和电位移场应用都高度敏感。 ? ? 作者通过实验,证明了在扭曲范德华异质结构中,实现可调与电子关联实验研究可能性。...论文确立了θ紊乱作为一种非常规类型紊乱重要性,使扭曲角梯度能够用于「带结构」工程,实现相关现象和器件应用中栅极可调内置平面电场。...当前相关态杂化特性和能量尺度大分离对于双层扭曲石墨中相关态热力学和输运性质具有重要意义。...这篇论文和7天前那篇可谓是「英雄所见略同」,研究都是魔角石墨体系中电子Pomeranchuk效应。 ?

66040

让你 Python 静态起来

Django model Protocol 自定义类型 普通用法 型自定义时 辅助函数 typing-extensions 实例:简化枚举类型 工程技巧 避免循环引用 mypy 再让我们看看那个例子...所以,如果 Python 能够 “静态” 一些,将会给我们带来几个明显增益: 大幅度提升代码可读性 能够将参数传递时 类型错误 扼杀在摇(biān)篮(mǎ)中 能够最大程度利用 IDE 提供代码提示...Protocol 好处是,我们可以很明确定义和使用鸭子类型,而不用人工核对方法输入输出。...原则这里就只能输入字符串 "red" "blue" "yellow",某些简单场景下,我们不用额外定义枚举类型。...mypy mypy 原来是一个兼容大部分 Python 语法静态类型 Python 发行版,后来在官方受到启发,并加入类型注解之后,mypy 已经演化成了一个静态类型检查器,我们可以通过 pip 来安装

92560

Python 进阶指南(编程轻松进阶):十一、注释、文档字符串和类型提示

同样,zophieTail对象有CatTail类型提示 2 ,因为它是我们用class语句创建CatTail对象。类型提示自动应用于指定类型所有子类。...在这种情况下,您可以搜索类似“赋值中 Mypy 兼容类型内容 每次修改代码时从命令行运行 Mypy 是相当低效。为了更好地使用类型检查器,您需要配置您 IDE 或文本编辑器在后台运行它。...如果所有这些都失败了,您总是可以从命令提示符或终端窗口运行 Mypy。 让 Mypy 忽略代码 出于某种原因,您可能会编写希望收到类型提示警告代码。...指定Any类型提示和指定类型提示区别在于Any明确声明变量或函数接受任何类型值,而缺少类型提示表明变量或函数还没有类型提示。...即便如此,静态类型检查工具在源代码运行时使用类型提示来分析源代码。类型检查器,比如 Mypy,可以确保您不会将无效值赋给传递给函数变量。通过防止一大错误,这可以节省您时间和精力。

90830

Objective—C语言新魅力——Nullability、泛型集合与类型延拓

2、关于一个类型通配符         观察Xcode7中iOS系统,我们可以发现这么一个好玩东西:ObjectType。...其实只是一个类型标识符,它具体怎么写并不重要,只是系统中都约定使用了ObjectType,你也可以在自己中按自己喜好来命名,这个东西有怎样用处,我用文字描述不清楚,我们可以通过自己来定义一个集合来理解...: 创建一个继承于NSObject,我取名叫MyArray: //这个类型通配符只能在interfave里使用,作用域为@interface到@end之间 //这里我使用Type来做这个通配符 @interface...4、协变性与逆变性         因为有了泛型集合概念,相比之前,我们类型实际更加复杂了,比如还拿我们自定义集合类型来举例:     MyArray * array;...因此,就有了逆变和协变这个概念: __covariant :子类型指针可以向父类型指针转换 __contravariant:父类型指针可以向子类型转换 上面的情况,我们将自定义做如下修改,就不会出现警告

98730

流畅 Python 第二版(GPT 重译)(十三)

24-3 中定义Mypy 将此赋值标记为类型错误: movie.year = 'MCMLXXII' 然而,Mypy 无法检测到这个构造函数调用类型错误: blockbuster = Movie...另一方面,如果您声明一个带有类型提示list[float]Checked子类字段,Mypy 可以标记具有兼容内容列表赋值,但Checked将忽略类型参数并将其视为list。...有关更多信息,请参阅“init_subclass 不是典型方法”。 ③ super().__init_subclass__()并非绝对必要,但应该被调用,以便与可能在相同继承图中实现....⁴ 我没有为参数添加类型提示,因为实际类型Any。我添加了返回类型提示,否则 Mypy 将不会检查方法内部。...⁵ 对于任何对象来说都是如此,除非它重写了从object继承__str__或__repr__方法并具有错误实现。 ⁶ 这个解决方案避免使用None作为默认值。避免空值是一个好主意。

10810

再谈 Python 中继承(译)

如果你构建 API 需要继承来实现或覆盖已有方法并能在其他地方调用,那么所有这些都会变得更加麻烦。...名义子类型和结构子类型这两个词太大了,但好在解释起来很直接。 名义子类型 名义子类型意思是你必须告诉类型系统,你是一个接口定义子类型。...然后,关于继承共享代码那一节中问题就会重新出现。为了避免这种情况,让保持单一责任。 结构子类型 结构子类型也就是鸭子类型:如果你满足了一个协议约束,它就会自动被认为是它一个子类型。...和所有类型继承一样,代码可读性会受到影响,因为你必须在头脑中组装出最终,才能知道存在哪些字段。但实际你得到是与第一种方法相同。...这意味着基提供了一个整体控制流程,而子类则填补了一些细节: 用户实例化一个子类, 然后调用方法, 其中又调用子类方法。

22350

30分钟摸透iOS中谓词NSPredicate来龙去脉

在iOS开发Cocoa框架中,有提供NSPredicate,这个通常也被成为谓词类,其主要作用是在Cocoa中帮助查询和检索,但是需要注意,实质谓词并不是提供查询和检索支持,它是一种描述查询检索条件方式...同时也需要注意,这种格式化字符串创建谓词语句并不会进行语法检查,错误语法会产生运行时错误,要格外小心。...1.先来看NSComparisonPredicate     这个是NSPredicate子类,其用来创建比较类型谓词。...; 3.NSCompoundPredicate     这个也是NSPredicate子类,其使用逻辑关系来组合多个谓词对象,解析如下: //进行对象初始化 /* typedef NS_ENUM...等通配符可以使用 MATCHES 正则匹配 ANY 对于数组集合,验证其中任一元素 SOME 同ANY一致 ALL 对于数组集合,验证其中所有元素 NONE 作用等同于NOT (ANY) IN 左侧在右侧集合中

1.4K20

【万字长文】TypeScript入门指南

2、类型断言用途(1)将一个联合类型推断为其中一个类型(2)将一个父断言为更加具体子类(3)将任何一个类型断言为 any(4)将 any 断言为一个具体类型原型:let fn = function...= 123//可以使用any临时断言在 any 类型变量,访问任何属性都是允许。...因为age是private,private只能在内部使用而不能在子类访问,Man是Person子类 }}let p = new Person("叶秋学长",22,false)p.age p.name...this 关键字静态方法不能调用非静态方法,反之可以父子类中静态和非静态关系对于非静态属性,子类可以继承非静态属性,但是当父子类出现相同非静态属性时,不会发生子类重写并覆盖父非静态属性,...而是隐藏父非静态属性对于非静态方法,子类可以继承并重写父非静态方法对于静态属性,子类可以继承静态属性,但是如何和非静态属性一样时,会被隐藏对于静态方法,子类可以继承静态方法,但是不能重写静态方法

37242

使用 Mypy 检查 30 万行 Python 代码,总结出 3 大痛点与 6 个技巧!

我把它们分成三:外部库缺乏类型注解Mypy 学习曲线对抗类型系统让我们来逐一回顾一下:1....外部库缺乏类型注解最重要痛点是,我们引入大多数第三方 Python 库要么是无类型,要么兼容 PEP-561。在实践中,这意味着对这些外部库引用会被解析为兼容,这会大大削弱类型覆盖率。...细节并不重要,但值得注意是,它是完全类型——因此我们可以静态地提升待运行任务类型安全性,因为它们被链接在一起。把类型弄准确是非常具有挑战性。...为了确保它完好,不被意外Any毒害,我们在一组文件写了调用 Mypy 单元测试,并断言 Mypy 抛出错误能匹配一系列预期内异常:def test_check_function(self) -...Mypy类型检查结果保存到缓存中,能加快重复调用速度(据其文档称:“Mypy 增量地执行类型检查,复用前一次运行结果,以加快后续运行速度”)。

87920

C#中类型转换-自定义隐式转换和显式转换

参数为原始类型,方法名为目标类型 A到B类型转换定义不能在C中进行(即2个转换不能在第3个中定义),否则会报错:用户定义转换必须是转换成封闭类型,或者从封闭类型转换。...,或者从封闭类型转换 这个错误,与封闭类型无关。...是因为有这个限制:A到B类型转换定义不能在C中进行(即2个转换不能在第3个中定义) 所以对于目标类型是集合List,我们无法直接定义到它转换。...不过,有2个迂回方法: 创建个继承自集合List,定义到这个子类转换。...在定義類別時,如果有需要,就可以使用這兩個關鍵字來提供類別一些額外功能 但在使用時也必須考慮設計是否合理 例如當兩類別有相關性時是否該提取出父或是接口來使用,而不是為了方便做了一堆轉換,導致程式撰寫與維護困難

2.2K30

如何更好使用 Python 类型提示?

mypy 检查类型提示 假如有这样一段代码: # script.py x: int = 2 # ... x = 3.5 用 Python 解释器执行是不会有任何错误: 借助于 mypy 就可以,...3、类型提示好处 如果解释器没有强制执行类型提示,为什么还要编写类型提示呢?确实,类型提示不会改变代码运行方式:Python 本质是动态类型,这一点不太可能会改变。...IDE 可以依靠类型检测来静态分析你代码并帮助检测潜在错误(例如,传递错误类型参数、调用错误方法等)。另外,还可以根据类型提示为每个变量提供自动补全。...用法 当你传入参数可以为任何类型时候,就可以使用 Any def bar(input: Any): ... 10、Optional 用法 如果你函数使用可选参数,具有默认值,那么你可以使用类型模块中...,并防止在顶部执行静态代码分析 (mypy) 时出现隐蔽和错误

1.4K10
领券