Finding a list of all double-underscore variables? Finding a list of all double-underscore variables? python python

Finding a list of all double-underscore variables?


If you want to see magic names whether documented or not, go to the Lib directory and run:

egrep -oh '__[A-Za-z_][A-Za-z_0-9]*__' *.py | sort | uniq

That produces:

'__all__''__args__''__author__''__bases__''__builtin__''__builtins__''__cached__''__call__''__class__''__copy__''__credits__''__date__''__decimal_context__''__deepcopy__''__dict__''__doc__''__exception__''__file__''__flags__''__ge__''__getinitargs__''__getstate__''__gt__''__import__''__importer__''__init__''__ispkg__''__iter__''__le__''__len__''__loader__''__lt__''__main__''__module__''__mro__''__name__''__package__''__path__''__pkgdir__''__return__''__safe_for_unpickling__''__setstate__''__slots__''__temp__''__test__''__version__'


The complete list used by Python is given in the Python Language Reference section 3, "Data model". Every other one is non-standard or used by third-party modules and is documented separately.


when i use

dir(object)

i got these:

'__class__', '__delattr__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__le__', '__lt__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__'

and i think they are the dunder names every object will have in python