cython

Форк
0
/
embedsignatures_clinic.pyx 
126 строк · 2.1 Кб
1
# cython: embedsignature=True
2
# cython: embedsignature.format=clinic
3
# cython: annotation_typing=False
4
# cython: binding=False
5
# cython: c_string_type=bytearray
6
# tag: py3only
7

8
def f00(a, object b=42):
9
    "f00 docstring"
10
    pass
11

12
def f01(unsigned int a: int, unsigned int b: int = 42, /, c=123):
13
    "f01 docstring"
14
    pass
15

16
def f02(unsigned int a: float, *, unsigned int b: float = 42) -> tuple[int]:
17
    "f02 docstring"
18
    pass
19

20
__doc__ = ur"""
21
>>> print(f00.__doc__)
22
f00 docstring
23
>>> print(f00.__text_signature__)
24
(a, b=42)
25

26
>>> print(f01.__doc__)
27
f01 docstring
28
>>> print(f01.__text_signature__)
29
(a, b=42, /, c=123)
30

31
>>> print(f02.__doc__)
32
f02 docstring
33
>>> print(f02.__text_signature__)
34
(a, *, b=42)
35

36
"""
37

38

39
cdef class Foo:
40
    "Foo docstring"
41

42
    def __init__(self, *args: Any, **kwargs: Any) -> None:
43
        "init Foo"
44
        pass
45

46
    def m00(self, a, b=42, *args, c=123):
47
        "m00 docstring"
48
        pass
49

50
    def m01(self, a, b=42, *, c=123, **kwargs):
51
        "m01 docstring"
52
        pass
53

54
    @classmethod
55
    def c00(cls, a):
56
        "c00 docstring"
57
        pass
58

59
    @staticmethod
60
    def s00(a):
61
        "s00 docstring"
62
        pass
63

64
    cdef public long int p0
65
    property p1:
66
        "p1 docstring"
67
        def __get__(self):
68
            return 0
69
    property p2:
70
        "p2 docstring"
71
        def __get__(self) -> int:
72
            return 0
73
    cdef public Foo p3
74

75

76
__doc__ += ur"""
77
>>> print(Foo.__doc__)
78
Foo docstring
79
>>> print(Foo.__init__.__doc__)
80
init Foo
81
>>> print(Foo.__init__.__text_signature__)
82
($self, *args, **kwargs)
83

84
"""
85

86
__doc__ += ur"""
87
>>> print(Foo.m00.__doc__)
88
m00 docstring
89
>>> print(Foo.m00.__text_signature__)
90
($self, a, b=42, *args, c=123)
91

92
>>> print(Foo.m01.__doc__)
93
m01 docstring
94
>>> print(Foo.m01.__text_signature__)
95
($self, a, b=42, *, c=123, **kwargs)
96

97
"""
98

99
__doc__ += ur"""
100
>>> print(Foo.c00.__doc__)
101
c00 docstring
102
>>> print(Foo.c00.__text_signature__)
103
($type, a)
104

105
>>> print(Foo.s00.__doc__)
106
s00 docstring
107
>>> print(Foo.s00.__text_signature__)
108
(a)
109

110
"""
111

112

113
__doc__ += ur"""
114
>>> print(Foo.p0.__doc__)
115
None
116

117
>>> print(Foo.p1.__doc__)
118
p1 docstring
119

120
>>> print(Foo.p2.__doc__)
121
p2 docstring
122

123
>>> print(Foo.p3.__doc__)
124
None
125

126
"""
127

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

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

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

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