相关疑难解决方法(0)

什么 - >在Python函数定义中意味着什么?

在查看Python 3.3语法规范时,我最近发现了一些有趣的东西:

funcdef: 'def' NAME parameters ['->' test] ':' suite
Run Code Online (Sandbox Code Playgroud)

Python 2中没有可选的"箭头"块,我在Python 3中找不到任何有关其含义的信息.事实证明这是正确的Python并且它被解释器接受:

def f(x) -> 123:
    return x
Run Code Online (Sandbox Code Playgroud)

我认为这可能是某种先决条件语法,但是:

  • 我不能x在这里测试,它仍未定义,
  • 无论我在箭头之后放置什么(例如2 < 1),它都不会影响功能行为.

任何习惯这种语法的人都可以解释一下吗?

python annotations python-3.x function-definition

383
推荐指数
9
解决办法
14万
查看次数

Python3 函数定义、箭头和冒号

我找到了以下python函数定义:

def reverseString(self, s: 'List[str]') -> 'None':
Run Code Online (Sandbox Code Playgroud)

我不太明白'List[str]'和-> 'None'。

我发现箭头是一个函数注释,但我找不到任何对 List[str] 有用且易于理解的东西。

它只是一个注释吗?还是强制参数s的类型必须是字符串数组?

python python-3.x function-definition

5
推荐指数
1
解决办法
4312
查看次数