Что делают двоеточия в python, когда помещаются после массива? - PullRequest
2 голосов
/ 26 сентября 2019

Есть идеи, что двоеточия должны делать в этом случае?Я просто наткнулся на это и увидел, что это не дает никакой ошибки, мне стало любопытно посмотреть, если это что-нибудь сделать.Пока я не вижу, чтобы в этом случае что-либо делало двоеточие.

Может ли кто-нибудь меня просветить?

import numpy as np
x = np.arange(1, 10)
x
output: array([1, 2, 3, 4, 5, 6, 7, 8, 9])

x:5
x
output: array([1, 2, 3, 4, 5, 6, 7, 8, 9])

enter image description here

1 Ответ

3 голосов
/ 26 сентября 2019

Как отмечается в комментариях, вы можете искать обозначение среза , но на самом деле это уже не SyntaxError.Вы даете переменной x аннотацию типа 5 (что на самом деле не имеет никакого смысла).

Вы можете заглянуть в __annotations__ вашего модуля, чтобы увидеть, что он был там добавлен, например,

print(__annotations__)
x : 5
print(__annotations__)

напечатает

{}
{'x': 5}

Для получения дополнительной информации о переменнойаннотации см. PEP 526 .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...