@startuml digraph python_abcs { graph [rankdir=BT,rank=max,label="Python 3.6/3.7 Abstract Base Classes"] node [shape=record,nojustify=true] edge [arrowhead=onormal] # Rank Manipulation { rank=max Container Hashable Callable Awaitable AsyncIterable } { rank=same Collection } # Nodes Labels # # For the most consistent alignment, include separator bar ("|") and # closing brace ("}") at end of line. # Container [label=<{ <b>\N</b>| | <i>__contains__</i>}>] Hashable [label=<{ <b>\N</b>| | <i>__hash__</i>}>] Iterable [label=<{ <b>\N</b>| | <i>__iter__</i>}>] Iterator [label=<{ <b>\N</b>| __iter__| <i>__next__</i>}>] Reversible [label=<{ <b>\N</b>| | <i>__reversed__</i>}>] Generator [label=<{ <b>\N</b>| close<br/> __iter__<br/> __next__| <i>send</i><br/><i>throw</i>}>] Sized [label=<{ <b>\N</b>| | <i>__len__</i>}>] Callable [label=<{ <b>\N</b>| | <i>__call__</i>}>] Collection [label=<{ <b>\N</b>| | <i>__contains__<br/>__iter__<br/>__len__</i>}>] Sequence [label=<{ <b>\N</b>| __contains__<br/>__iter__<br/>__reversed__<br/>index<br/>count| <i>__getitem__<br/>__len__</i>}>] MutableSequence [label=<{ <b>\N</b>| <i>Sequence</i> methods<br/>+<br/>append extend<br/>reverse<br/>pop remove<br/>__iadd__| <i>__getitem__<br/>__setitem__<br/>__delitem__<br/>__len__<br/>insert</i>}>] ByteString [label=<{ <b>\N</b>| <i>Sequence</i> methods| <i>__getitem__<br/>__len__</i>}>] Set [label=<{ <b>\N</b>| __le__ __lt__<br/>__eq__ __ne__<br/>__gt__ __ge__<br/>__and__ __or__<br/>__sub__ __xor__<br/>isdisjoint| <i>__contains__<br/>__iter__<br/>__len__</i>}>] MutableSet [label=<{ <b>\N</b>| <i>Set</i> methods<br/>+<br/>clear pop remove<br/>__ior__ __iand__<br/>__isub__ __ixor__| <i>__contains__<br/>__iter__<br/>__len__<br/>add<br/>discard</i>}>] Mapping [label=<{ <b>\N</b>| __contains__<br/>keys items<br/>values get<br/>__eq__ __ne__| <i>__getitem__<br/>__iter__<br/>__len__</i>}>] MutableMapping [label=<{ <b>\N</b>| <i>Mapping</i> methods<br/>+<br/>pop popitem<br/>clear update<br/>setdefault| <i>__getitem__<br/>__setitem__<br/>__delitem__<br/>__iter__<br/>__len__</i>}>] MappingView [label=<{ <b>\N</b>| __len__| }>] ItemsView [label=<{ <b>\N</b>| __contains__<br/>__iter__| }>] KeysView [label=<{ <b>\N</b>| __contains__<br/>__iter__| }>] ValuesView [label=<{ <b>\N</b>| __contains__<br/>__iter__| }>] Awaitable [label=<{ <b>\N</b>| | <i>__await__</i>}>] Coroutine [label=<{ <b>\N</b>| close| <i>send<br/>throw</i>}>] AsyncIterable [label=<{ <b>\N</b>| | <i>__aiter__</i>}>] AsyncIterator [label=<{ <b>\N</b>| __aiter__| <i>__anext__</i>}>] AsyncGenerator [label=<{ <b>\N</b>| aclose<br/>__aiter__<br/>__anext__| <i>asend<br/>athrow</i>}>] # Inheritance Iterator -> Iterable Reversible -> Iterable Generator -> Iterator Collection -> Sized Collection -> Iterable Collection -> Container Sequence -> Reversible Sequence -> Collection MutableSequence -> Sequence ByteString -> Sequence Set -> Collection MutableSet -> Set Mapping -> Collection MutableMapping -> Mapping MappingView -> Sized ItemsView -> MappingView ItemsView -> Set KeysView -> MappingView KeysView -> Set ValuesView -> MappingView ValuesView -> Collection [label=" 3.7 ",decorate=true] Coroutine -> Awaitable AsyncIterator -> AsyncIterable AsyncGenerator -> AsyncIterator } @enduml
Decode URL
Submit
amiga
aws-orange
black-knight
bluegray
blueprint
cerulean-outline
cerulean
crt-amber
crt-green
cyborg-outline
cyborg
hacker
lightgray
mars
materia-outline
materia
metal
mimeograph
minty
plain
reddress-darkblue
reddress-darkgreen
reddress-darkorange
reddress-darkred
reddress-lightblue
reddress-lightgreen
reddress-lightorange
reddress-lightred
sandstone
silver
sketchy-outline
sketchy
spacelab
spacelab-white
superhero-outline
superhero
toy
united
vibrant
Pure Javascript
PNG
SVG
ASCII Art