cython
1
2cimport cython
3
4@cython.final
5cdef class FinalClass:
6"""
7>>> f = FinalClass()
8>>> test_final_class(f)
9Type tested
10
11>>> try:
12... class SubType(FinalClass): pass
13... except TypeError:
14... print('PASSED!')
15PASSED!
16"""
17
18cdef class NonFinalClass:
19"""
20>>> class SubType(NonFinalClass): pass
21>>> s = SubType()
22"""
23
24@cython.final
25cdef class FinalSubClass(NonFinalClass):
26"""
27>>> f = FinalSubClass()
28>>> test_non_final_class(f)
29Type tested
30
31>>> try:
32... class SubType(FinalSubClass): pass
33... except TypeError:
34... print('PASSED!')
35PASSED!
36"""
37
38
39def test_final_class(FinalClass c):
40print u"Type tested"
41
42def test_non_final_class(NonFinalClass c):
43print u"Type tested"
44