cython

Форк
0
/
hasattr.py 
44 строки · 967.0 Байт
1
# mode: run
2
# tag: pure
3

4
class Foo:
5
    @property
6
    def foo(self):
7
        return None
8
    @property
9
    def bar(self):
10
        raise AttributeError
11
    @property
12
    def baz(self):
13
        return int(1)/int(0)
14

15

16
unicode_foo = u"foo"
17

18

19
def wrap_hasattr(obj, name):
20
    """
21
    >>> wrap_hasattr(None, "abc")
22
    False
23
    >>> wrap_hasattr(list, "append")
24
    True
25
    >>> wrap_hasattr(Foo(), "foo")
26
    True
27
    >>> wrap_hasattr(Foo(), unicode_foo)
28
    True
29
    >>> wrap_hasattr(Foo(), "spam")
30
    False
31
    >>> wrap_hasattr(Foo(), "bar")
32
    False
33
    >>> Foo().baz   #doctest: +ELLIPSIS
34
    Traceback (most recent call last):
35
    ZeroDivisionError: ...
36
    >>> wrap_hasattr(Foo(), "baz")  # doctest: +ELLIPSIS
37
    Traceback (most recent call last):
38
    ZeroDivisionError...
39
    >>> hasattr(Foo(), None)   #doctest: +ELLIPSIS
40
    Traceback (most recent call last):
41
       ...
42
    TypeError: ...attribute name must be string...
43
    """
44
    return hasattr(obj, name)
45

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

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

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

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