Exemplo n.º 1
0
# mapattrs-slots.py: test __slots__ attribute inheritance
from mapattrs import mapattrs, trace


class A(object):
    __slots__ = ['a', 'b']
    x = 1
    y = 2


class B(A):
    __slots__ = ['b', 'c']


class C(A):
    x = 2


class D(B, C):
    z = 3

    def __init__(self):
        self.name = 'Bob'


I = D()
trace(mapattrs(I, bysource=True))  # Also: trace(mapattrs(I))
Exemplo n.º 2
0
# -*- coding: utf-8 -*-
# mapattrs-slots.py 파일: __slots__ 속성 상속을 테스트
from mapattrs import mapattrs, trace


class A(object):
    __slots__ = ['a', 'b']
    x = 1
    y = 2


class B(A):
    __slots__ = ['b', 'c']


class C(A):
    x = 2


class D(B, C):
    z = 3

    def __init__(self):
        self.name = 'Bob'


I = D()
trace(mapattrs(I, bysource=True))  # trace(mapattrs(I)와 동일함
Exemplo n.º 3
0
# mapattr-slots.py test __slot__ attribute inheritance
from mapattrs import mapattrs, trace


class A(object):
    __slots__ = ['a', 'b']
    x = 1
    y = 2


class B(A):
    __slots__ = ['b', 'c']


class C(A):
    x = 2


class D(B, C):
    z = 3

    def __init__(self):
        self.name = 'Bob'


I = D()
trace(mapattrs(I, bysource=True))
# mapattrs-slots.py: test __slots__ attribute inheritance
from mapattrs import mapattrs, trace

class A(object): __slots__ = ['a', 'b']; x = 1; y = 2
class B(A):      __slots__ = ['b', 'c']
class C(A):      x = 2
class D(B, C): 
    z = 3
    def __init__(self): self.name = 'Bob';

I = D()
trace(mapattrs(I, bysource=True))     # Also: trace(mapattrs(I))

Exemplo n.º 5
0
    class A:
        attr1 = 1

    class B(A):
        attr2 = 2

    class C(A):
        attr1 = 3

    class D(B, C):
        pass

    I = D()
    print('Py=>%s' % I.attr1)  # 피이썬의 검색 == 우리가 구현한 검색?
    trace(inheritance(I), 'INH\n')  # [상속 순서]
    trace(mapattrs(I), 'ATTRS\n')  # 속성 => 상속 원천
    trace(mapattrs(I, bysource=True), 'OBJS\n')  # 원천 => [속성]

    print('New-style classes in 2.X and 3.X')

    class A(object):
        attr1 = 1  # '(object)' 표기는 3.X에서는 선택 사항임

    class B(A):
        attr2 = 2

    class C(A):
        attr1 = 3

    class D(B, C):