【问题标题】:Is it possible to type hint a string that has numbers?是否可以输入提示有数字的字符串?
【发布时间】: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-in​​side-a-type。也许是我梦到了……
  • 不,因为'1' 仍然是str。无论如何,str 并不是真正的集合,因此参数化没有意义(如果它 is 是一个集合,那么它就是一个 unicode 代码点的集合)。无论如何,我相当肯定这不是任何地方都内置的
  • 如果您有一个代表intstr,并且您使用它的数字属性,为什么不首先传递int
  • @juanpa.arrivillaga 从技术上讲,在某些语言中,str 表示为 char[],但显然这不适用于 Python。

标签: python python-3.x pycharm type-hinting


【解决方案1】:

不,这是不可能的,因为您没有在此处处理 类型

您正在尝试对单个字符串的内容进行断言,因此您正在对 instances 进行断言。这不是类型提示可以为您解决的问题。

【讨论】:

    猜你喜欢
    • 2013-07-07
    • 2016-02-23
    • 1970-01-01
    • 1970-01-01
    • 2019-11-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-12
    相关资源
    最近更新 更多