【问题标题】:how does this type of python function definition work? [duplicate]这种类型的python函数定义是如何工作的? [复制]
【发布时间】:2021-07-29 05:20:24
【问题描述】:
  class pair:
    def __init__(self):
        self.min = 0
        self.max = 0
 
def getMinMax(arr: list, n: int) -> pair:
    minmax = pair()

这个 arr: list 和 n : int 是如何工作的?
和->对,正在工作,类对象是如何通过这种方式形成的??

【问题讨论】:

标签: python


【解决方案1】:

那些是类型签名。您可以在PEP 484 中阅读有关它们的所有信息。它们自己不会做很多事情,但它们对于像 mypy 这样的工具非常有用。

def getMinMax(arr: list, n: int) -> pair:
    minmax = pair()

这声明getMinMax 有两个参数:arrnarr 的类型是 listn 的类型是 int。该函数将返回一个pair 类型的值。同样,这些都不会影响 Python 本身(尽管您可以使用反射访问 Python 中的类型签名,但默认情况下它们与运行时无关),但您可以使用它对您的代码运行编译时验证。

如果您在野外发现此代码并且只想与它进行交互,您可以放心地忽略类型注释。但我强烈建议您阅读 PEP 484(它实际上很容易消化,我建议您完整阅读)。它有很多有用的东西,而且非常有帮助。

【讨论】:

    【解决方案2】:

    这只是一个类型提示。解释器不检查参数的类型,它就像对开发人员和 IDE 的提示。 arr: list 表示参数 arr 必须是列表,n 必须是 int。 -> 显示返回值必须是什么类型。您必须在函数末尾添加 return minmax 以进行类型提示。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-02-20
      • 2019-04-13
      • 1970-01-01
      • 1970-01-01
      • 2021-08-13
      • 2013-07-20
      • 1970-01-01
      相关资源
      最近更新 更多