【发布时间】:2019-06-10 20:44:54
【问题描述】:
是否可以对可以正确转换为int的字符串进行注解?
像这样...
def foo(arg: str[int]): # which of course does not work
...
相当于成功调用int(arg)。
我本可以发誓有一种方法可以通过 Pycharm 中的类型提示来验证字符串的类型(也许这是一个非 PEP 功能),但我终其一生都无法弄清楚我是如何或为什么这么认为的功能存在。
【问题讨论】:
-
这对我来说真的没有意义,这根本不是一种类型,也不是真正可以静态检查的东西,除非你创建这样的类型。
-
逻辑上我知道这一点;也就是说,我一直在想有一些类似于
List[str]的工作方式。几乎就像一个type-inside-a-type。也许是我梦到了…… -
不,因为
'1'仍然是str。无论如何,str并不是真正的集合,因此参数化没有意义(如果它 is 是一个集合,那么它就是一个 unicode 代码点的集合)。无论如何,我相当肯定这不是任何地方都内置的 -
如果您有一个代表
int的str,并且您使用它的数字属性,为什么不首先传递int? -
@juanpa.arrivillaga 从技术上讲,在某些语言中,
str表示为char[],但显然这不适用于 Python。
标签: python python-3.x pycharm type-hinting