cython

Форк
0
/
cpdef_optargs_pure.py 
52 строки · 910.0 Байт
1
# mode: run
2
# tag: cyfunction
3
# cython: binding=True
4

5
import cython
6

7

8
class PyClass(object):
9
    a = 2
10

11

12
class PyClass99(object):
13
    a = 99
14

15
    def pymethod(self, x, y=1, z=PyClass):
16
        """
17
        >>> obj = PyClass99()
18
        >>> obj.pymethod(0)
19
        (0, 1, 2)
20
        """
21
        return x, y, z.a
22

23

24
def func(x, y=1, z=PyClass):
25
    """
26
    >>> func(0)
27
    (0, 1, 2)
28
    >>> func(0, 3)
29
    (0, 3, 2)
30
    >>> func(0, 3, PyClass)
31
    (0, 3, 2)
32
    >>> func(0, 3, 5)
33
    Traceback (most recent call last):
34
    AttributeError: 'int' object has no attribute 'a'
35
    """
36
    return x, y, z.a
37

38

39
@cython.ccall
40
def pyfunc(x, y=1, z=PyClass):
41
    """
42
    >>> pyfunc(0)
43
    (0, 1, 2)
44
    >>> pyfunc(0, 3)
45
    (0, 3, 2)
46
    >>> pyfunc(0, 3, PyClass)
47
    (0, 3, 2)
48
    >>> pyfunc(0, 3, 5)
49
    Traceback (most recent call last):
50
    AttributeError: 'int' object has no attribute 'a'
51
    """
52
    return x, y, z.a
53

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

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

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

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