← Back
Editing: ancestry.cpython-311.pyc
� �2`� � �. � d Z ddlmZ d� Zd� Zd� Zd� ZdS )zM Routines for obtaining the class names of an object and its parent classes. � )�unique_everseenc �: � | � � � dd� S )zt return a tuple of all base classes the class c has as a parent. >>> object in all_bases(list) True � N��mro��cs �9/usr/lib/python3/dist-packages/jaraco/classes/ancestry.py� all_basesr s � � �5�5�7�7�1�2�2�;�� c �* � | � � � S )ze return a tuple of all classes to which c belongs >>> list in all_classes(list) True r r s r �all_classesr s � � �5�5�7�7�Nr c �: � t t | � � � � S )a: Generator over all subclasses of a given class, in depth-first order. >>> bool in list(iter_subclasses(int)) True >>> class A(object): pass >>> class B(A): pass >>> class C(A): pass >>> class D(B,C): pass >>> class E(D): pass >>> >>> for cls in iter_subclasses(A): ... print(cls.__name__) B D E C >>> # get ALL classes currently defined >>> res = [cls.__name__ for cls in iter_subclasses(object)] >>> 'type' in res True >>> 'tuple' in res True >>> len(res) > 100 True )r �_iter_all_subclasses)�clss r �iter_subclassesr s � �6 �/��4�4�5�5�5r c # � K � | � � � }n%# t $ r | � | � � }Y nw xY w|D ]}|V � t |� � E d {V �� �d S )N)�__subclasses__� TypeErrorr )r �subs�subs r r r = s� � � � �'��!�!�#�#����� '� '� '��!�!�#�&�&����'����� (� (��� � � �"�3�'�'�'�'�'�'�'�'�'�'�(� (s � �;�;N)�__doc__�more_itertoolsr r r r r � r r �<module>r si ��� � +� *� *� *� *� *�� � �� � �6� 6� 6�<(� (� (� (� (r
Save File
Cancel