mirror of
https://github.com/satwikkansal/wtfpython.git
synced 2024-09-11 12:06:01 +03:00
Translate Ellipsis example
This commit is contained in:
parent
193c839163
commit
be9c3bb0ae
61
translations/README-ru.md
vendored
61
translations/README-ru.md
vendored
@ -3141,3 +3141,64 @@ Try block executed successfully...
|
||||
- Блок `else` после блока `try` также называется "блоком завершения", поскольку достижение `else` в операторе `try` означает, что блок попыток действительно успешно завершен.
|
||||
|
||||
---
|
||||
|
||||
|
||||
### ▶ Многоточие *
|
||||
<!-- Example ID: 969b7100-ab3d-4a7d-ad7d-a6be16181b2b --->
|
||||
```py
|
||||
def some_func():
|
||||
Ellipsis
|
||||
```
|
||||
|
||||
**Результат**
|
||||
```py
|
||||
>>> some_func()
|
||||
# Ни вывода, ни ошибки
|
||||
|
||||
>>> SomeRandomString
|
||||
Traceback (most recent call last):
|
||||
File "<stdin>", line 1, in <module>
|
||||
NameError: name 'SomeRandomString' is not defined
|
||||
|
||||
>>> Ellipsis
|
||||
Ellipsis
|
||||
```
|
||||
|
||||
#### 💡 Объяснение
|
||||
- В Python, `Ellipsis` - глобальный встроенный объект, эквивалентный `...`.
|
||||
```py
|
||||
>>> ...
|
||||
Ellipsis
|
||||
```
|
||||
- Многоточие может использоваться в нескольких случаях,
|
||||
+ В качестве заполнителя для кода, который еще не написан (аналогично оператору `pass`)
|
||||
+ В синтаксисе срезов (slices) для представления полных срезов в оставшемся направлении
|
||||
``py
|
||||
>>> import numpy as np
|
||||
>>> three_dimensional_array = np.arange(8).reshape(2, 2, 2)
|
||||
array([
|
||||
[
|
||||
[0, 1],
|
||||
[2, 3]
|
||||
],
|
||||
|
||||
[
|
||||
[4, 5],
|
||||
[6, 7]
|
||||
]
|
||||
])
|
||||
```
|
||||
Таким образом, наш `трехмерный_массив` представляет собой массив массивов массивов. Допустим, мы хотим вывести второй элемент (индекс `1`) всех внутренних массивов, мы можем использовать `Ellipsis`, чтобы обойти все предыдущие измерения
|
||||
``py
|
||||
>>> three_dimensional_array[:,::,1]
|
||||
array([[1, 3],
|
||||
[5, 7]])
|
||||
>>> three_dimensional_array[..., 1] # использование Ellipsis.
|
||||
array([[1, 3],
|
||||
[5, 7]])
|
||||
```
|
||||
Примечание: это будет работать для любого количества измерений. Можно даже выбрать срез в первом и последнем измерении и игнорировать средние (`n_dimensional_array[firs_dim_slice, ..., last_dim_slice]`)
|
||||
+ В [подсказках типов](https://docs.python.org/3/library/typing.html) для указания только части типа (например, `(Callable[..., int]` или `Tuple[str, ...]`))
|
||||
+ Вы также можете использовать `Ellipsis` в качестве аргумента функции по умолчанию (в случаях, когда вы хотите провести различие между сценариями "аргумент не передан" и "значение не передано").
|
||||
|
||||
---
|
||||
|
Loading…
Reference in New Issue
Block a user