funcdef: 'def' NAME parameters ['->' test] ':' suite
< /code>
Необязательный блок «Arrow '» отсутствовал в Python 2, и я не смог найти никакой информации о его значении в Python 3. Оказывается, это правильный Python, и он принят интерпретатором : < /p>
def f(x) -> 123:
return x
< /code>
Я думал, что это может быть какой -то синтаксис предварительного кондиционирования, но: < /p>
[*] Я не могу проверить x < / Код> Здесь, поскольку он все еще не определен,
Независимо от того, что я положил после стрелки (например, 2
< /ul>
может ли кто -нибудь знаком с этим синтаксисом, объяснить это? < /p>
Подробнее здесь: [url]https://stackoverflow.com/questions/14379753/what-does-mean-in-python-function-definitions[/url]
Я недавно заметил что -то интересное, когда посмотрел на спецификацию грамматики Python 3.3: < /p> [code]funcdef: 'def' NAME parameters ['->' test] ':' suite < /code> Необязательный блок «Arrow '» отсутствовал в Python 2, и я не смог найти никакой информации о его значении в Python 3. Оказывается, это правильный Python, и он принят интерпретатором : < /p> def f(x) -> 123: return x < /code> Я думал, что это может быть какой -то синтаксис предварительного кондиционирования, но: < /p>
[*] Я не могу проверить x < / Код> Здесь, поскольку он все еще не определен, Независимо от того, что я положил после стрелки (например, 2 < /ul> может ли кто -нибудь знаком с этим синтаксисом, объяснить это? < /p>
Рассмотрим следующий маршрут Laravel:
Route::get('/tags/{tag}', function (string $tag) use ($posts): View {
$tagPosts = $posts->filter(
function (Post $post) use ($tag): bool {
return in_array($tag, $post->tags);
}
);