How to find all built-in Python private variables like __file__, __name__

I want to know all the built-in Python private variables, such as __file__, __name__and their purpose.

but I don’t see a document of all Python built-in personal variables at www.python.org.

I know dirand vars.

So how to find them?

+4
source share
2 answers

Hidden attributes are sometimes called magic methods (for objects) and for reference, I would check Python Docs in a data model that are quite complete and probably cover all the attributes you are looking for.

, , , , , , , :

import inspect

:

inspect.getmembers(inspect) 

:

>>> inspect.getfile(inspect)
'/usr/lib/python2.7/inspect.pyc'
>>> inspect.getmoduleinfo(inspect.getfile(inspect))
ModuleInfo(name='inspect', suffix='.pyc', mode='rb', module_type=2)
+2

:

>>> dir()
['__builtins__', '__doc__', '__name__', '__package__', 'f']
>>> [ i for i in dir() if i.startswith("__") and i.endswith("__")]
['__builtins__', '__doc__', '__name__', '__package__']

:

>>> def getprivates(obj):
        return [i for i in dir(obj) if i.startswith("__") and i.endswith("__")]

, dir():

>>> getprivates(dir())
['__add__', '__class__', '__contains__', '__delattr__', '__delitem__', '__delslice__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__getslice__', '__gt__', '__hash__', '__iadd__', '__imul__', '__init__', '__iter__', '__le__', '__len__', '__lt__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__reversed__', '__rmul__', '__setattr__', '__setitem__', '__setslice__', '__sizeof__', '__str__', '__subclasshook__']
+5

Source: https://habr.com/ru/post/1548163/


All Articles