cython

Форк
0
/
extkwonlyargs.pyx 
119 строк · 2.9 Кб
1
__doc__ = u"""
2
    >>> ext = Ext()
3
    >>> b,c,d,e,f,g,h,k = ext.b,ext.c,ext.d,ext.e,ext.f,ext.g,ext.h,ext.k
4

5
"""
6

7
cdef class Ext:
8
    def b(self, a, b, c):
9
        pass
10

11
    def c(self, a, b, c=1):
12
        pass
13

14
    def d(self, a, b, *, c = 88):
15
        pass
16

17
    def e(self, a, b, c = 88, **kwds):
18
        pass
19

20
    def f(self, a, b, *, c, d = 42):
21
        pass
22

23
    def g(self, a, b, *, c, d = 42, e = 17, f, **kwds):
24
        pass
25

26
    def h(self, a, b, *args, c, d = 42, e = 17, f, **kwds):
27
        pass
28

29
    def k(self, a, b, c=1, *args, d = 42, e = 17, f, **kwds):
30
        pass
31
"""# c
32
    >>> c(1,2)
33
    >>> c(1,2,3)
34
    >>> c(1,2,3,4)
35
    Traceback (most recent call last):
36
    TypeError: c() takes at most 3 positional arguments (4 given)
37

38
# b
39
    >>> b(1,2,3)
40
    >>> b(1,2,3,4)
41
    Traceback (most recent call last):
42
    TypeError: b() takes exactly 3 positional arguments (4 given)
43

44
# e
45
    >>> e(1,2)
46
    >>> e(1,2, c=1)
47
    >>> e(1,2, d=1)
48
    >>> e(1,2, c=1, d=2, e=3)
49
    >>> e(1,2,3)
50
    >>> e(1,2,3,4)
51
    Traceback (most recent call last):
52
    TypeError: e() takes at most 3 positional arguments (4 given)
53

54
# d
55
    >>> d(1,2)
56
    >>> d(1,2, c=1)
57

58
    >>> d(1,2,3)
59
    Traceback (most recent call last):
60
    TypeError: d() takes exactly 2 positional arguments (3 given)
61
    >>> d(1,2, d=1)
62
    Traceback (most recent call last):
63
    TypeError: d() got an unexpected keyword argument 'd'
64

65
# g
66
    >>> g(1,2, c=1, f=2)
67
    >>> g(1,2, c=1, e=0, f=2, d=11)
68
    >>> g(1,2, c=1, f=2, e=0, x=25)
69

70
    >>> g(1,2,3)
71
    Traceback (most recent call last):
72
    TypeError: g() takes exactly 2 positional arguments (3 given)
73
    >>> g(1,2)
74
    Traceback (most recent call last):
75
    TypeError: g() needs keyword-only argument c
76
    >>> g(1,2, c=1)
77
    Traceback (most recent call last):
78
    TypeError: g() needs keyword-only argument f
79

80
# f
81
    >>> f(1,2, c=1)
82
    >>> f(1,2, c=1, d=2)
83

84
    >>> f(1,2,3)
85
    Traceback (most recent call last):
86
    TypeError: f() takes exactly 2 positional arguments (3 given)
87
    >>> f(1,2)
88
    Traceback (most recent call last):
89
    TypeError: f() needs keyword-only argument c
90
    >>> f(1,2, c=1, e=2)
91
    Traceback (most recent call last):
92
    TypeError: f() got an unexpected keyword argument 'e'
93

94
# h
95
    >>> h(1,2, c=1, f=2)
96
    >>> h(1,2, c=1, f=2, e=3)
97
    >>> h(1,2,3,4,5,6, c=1, f=2)
98
    >>> h(1,2,3,4,5,6, c=1, f=2, e=3, x=25, y=11)
99

100
    >>> h(1,2,3)
101
    Traceback (most recent call last):
102
    TypeError: h() needs keyword-only argument c
103
    >>> h(1,2, d=1)
104
    Traceback (most recent call last):
105
    TypeError: h() needs keyword-only argument c
106

107
# k
108
    >>> k(1,2, c=1, f=2)
109
    >>> k(1,2, c=1, f=2, e=3)
110
    >>> k(1,2,3,4,5,6, d=1, f=2)
111
    >>> k(1,2,3,4,5,6, d=1, f=2, e=3, x=25, y=11)
112

113
    >>> k(1,2,3)
114
    Traceback (most recent call last):
115
    TypeError: k() needs keyword-only argument f
116
    >>> k(1,2, d=1)
117
    Traceback (most recent call last):
118
    TypeError: k() needs keyword-only argument f
119
"""
120

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

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

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

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