cython

Форк
0
/
slice2_T636.py 
49 строк · 864.0 Байт
1
# mode: run
2
# ticket 636
3
# tag: slicing, getitem
4

5
class Sliceable(object):
6
    """
7
    >>> sl = Sliceable()
8

9
    >>> sl[1:2]
10
    (1, 2, None)
11
    >>> py_slice2(sl, 1, 2)
12
    (1, 2, None)
13

14
    >>> sl[1:None]
15
    (1, None, None)
16
    >>> py_slice2(sl, 1, None)
17
    (1, None, None)
18

19
    >>> sl[None:2]
20
    (None, 2, None)
21
    >>> py_slice2(sl, None, 2)
22
    (None, 2, None)
23

24
    >>> sl[None:None]
25
    (None, None, None)
26
    >>> py_slice2(sl, None, None)
27
    (None, None, None)
28
    """
29
    def __getitem__(self, sl):
30
        return (sl.start, sl.stop, sl.step)
31

32
def py_slice2(obj,a,b):
33
    """
34
    >>> [1,2,3][1:2]
35
    [2]
36
    >>> py_slice2([1,2,3], 1, 2)
37
    [2]
38

39
    >>> [1,2,3][None:2]
40
    [1, 2]
41
    >>> py_slice2([1,2,3], None, 2)
42
    [1, 2]
43

44
    >>> [1,2,3][None:None]
45
    [1, 2, 3]
46
    >>> py_slice2([1,2,3], None, None)
47
    [1, 2, 3]
48
    """
49
    return obj[a:b]
50

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.