type-hinting相关内容

在Python中注释文件类型的正确方法

根据PEP 484的说法,在现代版本的Python中,可以使用函数注释进行静态类型分析。通过打字模块可以轻松完成此操作。 现在我想知道如何将";type hint";发送给";文件流";。 def myfunction(file: FILETYPE): pass with open(fname) as file: myfunction( ..
发布时间:2022-07-17 18:57:09 Python

关闭版本3.5不支持变量批注错误消息

我刚刚将PyCharm更新到最新版本,但我一直在处理此错误消息时遇到问题。基本上,我无法关闭显示";Python version3.5不支持变量批注的错误消息。"; 我的默认和项目解释器是Python3.6,而且我甚至没有在PyCharm中添加Python3.5,因此对此有任何帮助将不胜感激。 部分图片: 编辑:使用项目解释器设置的另一张图片更新: 推荐答案 ..
发布时间:2022-03-25 21:37:04 Python

如何在for循环中批注类型?

我想在for循环中注释一种类型的变量。我尝试过此操作,但不起作用: for i: int in range(5): pass 我期望的是PyCharm 2016.3.2中的自动完成功能,但使用 前置批注不起作用: i: int for i in range(5): pass P.S.预注适用于PyCharm>;=2017.1。 推荐答案 根据PE ..
发布时间:2022-02-21 09:36:34 Python

PHP:布尔与布尔类型提示

我一直在尝试在 PHP 中更多地使用类型提示.今天我正在编写一个带有默认参数的布尔函数,我注意到表单的函数 函数 foo(boolean $bar = false) {var_dump($bar);} 实际上抛出了一个致命错误: 具有类类型提示的参数的默认值只能为 NULL 一个类似形式的函数 函数 foo(bool $bar = false) {var_dump($bar);} ..
发布时间:2022-01-19 17:15:49 PHP

如果返回值是混合的,使用什么类型的提示?

function foo ($a): 混合{如果 ($a == 1)返回真;别的返回“富";}var_dump(foo(1)); 由于 mixed 不是真正的类型,因此会导致: 致命错误:未捕获的类型错误:foo() 的返回值必须是混合实例... 有没有办法在 mixed 返回值中键入提示,或者在这种类型的场景中您根本不声明类型提示? 解决方案 类型提示用于对传递或返回的值实 ..
发布时间:2022-01-19 15:12:42 PHP

如何在 Python 3.5 中键入提示属性?

我有一个类,我希望属性的初始值为 None: class SomeClass:def __init__(self):self.some_attribute = 无 如何添加类型提示,以便 IDE 了解 some_attribute 通常属于 AnotherClass 类型? 解决方案 在 Python 3.5 中,你必须写 self.some_attribute = None # t ..
发布时间:2022-01-13 18:33:26 Python

PHP 7 中属性的类型提示?

php 7 是否支持类属性的类型提示? 我的意思是,不仅针对 setters/getters,还针对属性本身. 类似: 类 Foo {/**** @var 酒吧*/公共 $bar : 酒吧;}$fooInstance = new Foo();$fooInstance->bar = new NotBar();//错误 解决方案 PHP 7.4 将支持类型化属性 像这样: 类人{公 ..
发布时间:2022-01-13 17:44:07 PHP

可迭代对象和数组类型提示?

我有很多函数,它们要么具有数组类型提示,要么使用 is_array() 来检查变量的数组特性. 现在我开始使用可迭代的对象.它们实现 Iterator 或 IteratorAggregate.如果它们通过类型提示或经过 is_array(),它们会被作为数组接受吗? 如果我必须修改我的代码,是否有一种通用的 is_iterable(),或者我必须这样做: if ( is_array( ..
发布时间:2022-01-10 14:21:32 PHP

我如何告诉 PyCharm 参数应该是什么类型?

当涉及到构造函数、赋值和方法调用时,PyCharm IDE 非常擅长分析我的源代码并确定每个变量应该是什么类型.我喜欢它正确的时候,因为它给了我很好的代码完成和参数信息,如果我尝试访问一个不存在的属性,它会给我警告. 但是当涉及到参数时,它什么都不知道.代码完成下拉菜单无法显示任何内容,因为它们不知道参数的类型.代码分析无法查找警告. 类人:def __init__(自我,姓名,年龄):s ..
发布时间:2022-01-08 09:13:18 Python

Clojure defmacro 丢失元数据

我正在尝试创建一个小 Clojure 宏,它 def 是一个带有类型提示的字符串: (defmacro def-string [名称值]`(def ^String ~name ~value))(def-string db-host-option "db-host") 当我macroexpand它时,类型提示丢失了: (macroexpand '(def-string db-host-opti ..
发布时间:2022-01-02 22:34:53 其他开发

PHP 7 接口,返回类型提示和自我

更新:PHP 7.4 现在支持协方差和逆变解决了这个问题中提出的主要问题. 我在 PHP 7 中使用返回类型提示时遇到了一些问题.我的理解是提示 : self 意味着您打算让实现类返回自身.因此,我在接口中使用了 : self 来表明这一点,但是当我尝试实际实现接口时,我遇到了兼容性错误. 以下是我遇到的问题的简单演示: 接口 iFoo{公共函数 bar (string $baz) ..
发布时间:2021-12-31 14:35:50 PHP

如何解析“必须是字符串的实例,字符串给定"在 PHP 7 之前?

这是我的代码: function phpwtf(string $s) {echo "$s\n";}phpwtf("类型提示是炸弹"); 导致此错误的原因: 可捕获的致命错误:传递给 phpwtf() 的参数 1 必须是字符串的实例,给定的字符串 看到 PHP 同时识别和拒绝所需的类型,这不仅仅是一点奥威尔式的.有五个灯,该死. PHP 中字符串类型提示的等价物是什么?对准确解 ..
发布时间:2021-12-25 13:11:24 PHP

如何在 for 循环中注释类型

我想在 for 循环中注释变量的类型.我试过这个: for i: int in range(5):经过 但显然没有用. 我期望在 PyCharm 2016.3.2 中自动完成.像这样的预注释: i: int对于范围内的 i (5):经过 没有帮助. 附言PyCharm 的预注释 >= 2017.1 解决方案 根据 PEP 526,这是不允许的: 此外,不能注释fo ..
发布时间:2021-12-11 12:44:39 Python

具有已知键类型的 Python 3 字典

我正在使用 Python 3 打字功能以实现更好的自动完成. 很多时候我有返回键/值(字典)和特定键的函数.超级简单的例子: def get_info(name):name_first_letter = 名称[0]返回 {'my_name': name, 'first_letter': name_first_letter} 我想给这个函数添加类型提示,告诉其他使用这个函数的人期待什么. ..
发布时间:2021-12-10 16:34:43 Python

为仅返回一组特定值的函数键入提示

我有一个函数只能返回a、b或c,它们都是T类型的代码>.我想在签名中包含这个事实,因为它们在函数的上下文中具有特殊的含义.我该怎么做? 目前,我使用这个 def fun(...) ->“a或b或c":#简要解释文档字符串中 a、b 和 c 的含义 这是正确的吗? 我知道我可以做到这一点 def fun(...) ->:# 简要解释其文档字符串中 a、b 和 c 的含义 但正如我 ..
发布时间:2021-12-02 17:05:45 Python