cython

Форк
0
/
py_classbody.py 
77 строк · 1.5 Кб
1
# mode: run
2
# tag: pyclass, global
3

4

5
pyvar = 2
6

7
class TestPyAttr(object):
8
    """
9
    >>> TestPyAttr.pyvar    # doctest: +ELLIPSIS
10
    Traceback (most recent call last):
11
    AttributeError: ...TestPyAttr...has no attribute 'pyvar'...
12
    >>> TestPyAttr.pyval1
13
    3
14
    >>> TestPyAttr.pyval2
15
    2
16
    """
17
    pyvar = 3
18
    pyval1 = pyvar
19
    del pyvar
20
    pyval2 = pyvar
21

22

23
import cython
24
cdefvar = cython.declare(int, 10)
25

26
class TestCdefAttr(object):
27
    """
28
    >>> TestCdefAttr.cdefvar   # doctest: +ELLIPSIS
29
    Traceback (most recent call last):
30
    AttributeError: ...TestCdefAttr...has no attribute 'cdefvar'...
31
    >>> TestCdefAttr.cdefval1
32
    11
33

34
    >>> #TestCdefAttr.cdefval2
35
    """
36
    cdefvar = 11
37
    cdefval1 = cdefvar
38
    del cdefvar
39
    # cdefval2 = cdefvar       # FIXME: doesn't currently work ...
40

41

42
class ForLoopInPyClass(object):
43
    """
44
    >>> ForLoopInPyClass.i    # doctest: +ELLIPSIS
45
    Traceback (most recent call last):
46
    AttributeError: ...ForLoopInPyClass... has no attribute ...i...
47
    >>> ForLoopInPyClass.k
48
    0
49
    >>> ForLoopInPyClass.m
50
    1
51
    """
52
    for i in range(0):
53
        pass
54

55
    for k in range(1):
56
        pass
57

58
    for m in range(2):
59
        pass
60

61

62
def del_in_class(x):
63
    """
64
    >>> del_in_class(True)
65
    no error
66
    >>> del_in_class(False)
67
    NameError
68
    """
69
    try:
70
        class Test(object):
71
            if x:
72
                attr = 1
73
            del attr
74
    except NameError:
75
        print("NameError")
76
    else:
77
        print("no error")
78

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

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

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

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