خريطة المجموعات

classDiagram
    class Container {
        <<abstract>>
        +__contains__()
    }

    class Iterable {
        <<abstract>>
        +__iter__()
    }

    class Iterator {
        <<abstract>>
        +__next__()
        +__iter__()
    }

    class Reversible {
        <<abstract>>
        +__reversed__()
    }

    class Sized {
        <<abstract>>
        +__len__()
    }

    class Collection {
        <<abstract>>
        +__contains__()
        +__iter__()
        +__len__()
    }

    class Sequence {
        <<abstract>>
        +__getitem__()
        +__len__()
        +__contains__()
        +__iter__()
        +__reversed__()
        +index()
        +count()
    }

    class MutableSequence {
        <<abstract>>
        +__getitem__()
        +__setitem__()
        +__delitem__()
        +__len__()
        +insert()
        +append()
        +clear()
        +reverse()
        +extend()
        +pop()
        +remove()
        +__iadd__()
    }

    class Set {
        <<abstract>>
        +__contains__()
        +__iter__()
        +__len__()
        +__le__()
        +__lt__()
        +__eq__()
        +__ne__()
        +__gt__()
        +__ge__()
        +__and__()
        +__or__()
        +__sub__()
        +__xor__()
        +isdisjoint()
    }

    class MutableSet {
        <<abstract>>
        +__contains__()
        +__iter__()
        +__len__()
        +add()
        +discard()
        +clear()
        +pop()
        +remove()
        +__ior__()
        +__iand__()
        +__ixor__()
        +__isub__()
    }

    class Mapping {
        <<abstract>>
        +__getitem__()
        +__iter__()
        +__len__()
        +__contains__()
        +keys()
        +items()
        +values()
        +get()
        +__eq__()
        +__ne__()
    }

    class MutableMapping {
        <<abstract>>
        +__getitem__()
        +__setitem__()
        +__delitem__()
        +__iter__()
        +__len__()
        +pop()
        +popitem()
        +clear()
        +update()
        +setdefault()
    }

    Iterable <|-- Iterator
    Iterable <|-- Reversible
    Sized <|-- Collection
    Iterable <|-- Collection
    Container <|-- Collection
    Reversible <|-- Sequence
    Collection <|-- Sequence
    Sequence <|-- MutableSequence
    Collection <|-- Set
    Set <|-- MutableSet
    Collection <|-- Mapping
    Mapping <|-- MutableMapping

    MutableSequence <-- list
    Sequence <-- tuple
    Sequence <-- range
    Sequence <-- str
    MutableMapping <-- dict
    Set <-- frozenset
    MutableSet <-- set
شكل 1: الأنواع المجردة حول الجمع (Collection)