cython
1# mode: run
2# tag: pyclass, global
3
4
5pyvar = 2
6
7class TestPyAttr(object):
8"""
9>>> TestPyAttr.pyvar # doctest: +ELLIPSIS
10Traceback (most recent call last):
11AttributeError: ...TestPyAttr...has no attribute 'pyvar'...
12>>> TestPyAttr.pyval1
133
14>>> TestPyAttr.pyval2
152
16"""
17pyvar = 3
18pyval1 = pyvar
19del pyvar
20pyval2 = pyvar
21
22
23import cython
24cdefvar = cython.declare(int, 10)
25
26class TestCdefAttr(object):
27"""
28>>> TestCdefAttr.cdefvar # doctest: +ELLIPSIS
29Traceback (most recent call last):
30AttributeError: ...TestCdefAttr...has no attribute 'cdefvar'...
31>>> TestCdefAttr.cdefval1
3211
33
34>>> #TestCdefAttr.cdefval2
35"""
36cdefvar = 11
37cdefval1 = cdefvar
38del cdefvar
39# cdefval2 = cdefvar # FIXME: doesn't currently work ...
40
41
42class ForLoopInPyClass(object):
43"""
44>>> ForLoopInPyClass.i # doctest: +ELLIPSIS
45Traceback (most recent call last):
46AttributeError: ...ForLoopInPyClass... has no attribute ...i...
47>>> ForLoopInPyClass.k
480
49>>> ForLoopInPyClass.m
501
51"""
52for i in range(0):
53pass
54
55for k in range(1):
56pass
57
58for m in range(2):
59pass
60
61
62def del_in_class(x):
63"""
64>>> del_in_class(True)
65no error
66>>> del_in_class(False)
67NameError
68"""
69try:
70class Test(object):
71if x:
72attr = 1
73del attr
74except NameError:
75print("NameError")
76else:
77print("no error")
78