【问题标题】:PyCharm type hinting return typesPyCharm 类型提示返回类型
【发布时间】:2015-11-23 07:45:25
【问题描述】:

我无法获得返回类型的输入提示以生成任何警告。例如下面的代码不会产生任何警告:

def foo():
    """
    :rtype : bool
    """
    return "bar"    # Returning wrong type

x, y = foo()        # Incorrectly expecting tuple

返回类型会生成警告,还是仅用于代码完成?对函数参数使用类型提示时的类型警告按预期工作。 Python 是 2.7,PyCharm 是 4.5.3。

【问题讨论】:

  • 我相信它只是为了代码完成。
  • 您错过了警告。这些警告应该在哪里发出? python应该发出它们吗?还是你想让 pyCharm 发出它们?
  • @f.rodrigues - 感谢您的确认

标签: python pycharm


【解决方案1】:

您可以使用-> 来提示返回类型,如下所示:

def hello(name: str) -> str:
    return 'hello '+name

类型提示只是帮助 IDE 的 提示。这些类型不是强制的。您可以将变量的提示添加为str,并为它设置int,如下所示:

a:str = 'variable hinted as str'
a = 5  # See, we can set an int 

PyCharm 会警告您,但您仍然可以运行代码。因为这些只是提示。 Python 不是类型严格的语言。相反,它采用动态类型。

【讨论】:

    【解决方案2】:

    返回类型仅用于代码完成,你所做的已经彻底混淆了 PyCharm 的实际想要返回的内容。

    此外,x,y = <string> 在字符串长度为 2 个字符时有效,因此您的最后一条语句不是无效的。

    In[3]: x, y = "ac"
    In[4]: x
    Out[4]: 'a'
    In[5]: y
    Out[5]: 'c'
    

    【讨论】:

      猜你喜欢
      • 2013-12-26
      • 2021-02-11
      • 2016-03-22
      • 1970-01-01
      • 2016-08-01
      • 2019-05-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多