Я считаю, что вам нужно что-то вроде этого:
список атрибутов объекта
Эту работу может выполнить встроенная функция dir()
.
Взято из help(dir)
вывода вашей оболочки Python:
реж (...)
dir([object]) -> list of strings
Если вызывается без аргумента, вернуть имена в текущей области.
В противном случае верните отсортированный по алфавиту список имен, содержащих (некоторые из) атрибутов данного объекта, и атрибутов, доступных из него.
Если объект предоставляет метод с именем __dir__
, он будет использован; в противном случае используется логика dir () по умолчанию, которая возвращает:
- для объекта модуля: атрибуты модуля.
- для объекта класса: его атрибуты и рекурсивно атрибуты его баз.
- для любого другого объекта: его атрибуты, атрибуты его класса и рекурсивно атрибуты базовых классов его класса.
Например:
$ python
Python 2.7.6 (default, Jun 22 2015, 17:58:13)
[GCC 4.8.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> a = "I am a string"
>>>
>>> type(a)
<class 'str'>
>>>
>>> dir(a)
['__add__', '__class__', '__contains__', '__delattr__', '__doc__',
'__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__',
'__getnewargs__', '__getslice__', '__gt__', '__hash__', '__init__',
'__le__', '__len__', '__lt__', '__mod__', '__mul__', '__ne__', '__new__',
'__reduce__', '__reduce_ex__', '__repr__', '__rmod__', '__rmul__',
'__setattr__', '__sizeof__', '__str__', '__subclasshook__',
'_formatter_field_name_split', '_formatter_parser', 'capitalize',
'center', 'count', 'decode', 'encode', 'endswith', 'expandtabs', 'find',
'format', 'index', 'isalnum', 'isalpha', 'isdigit', 'islower', 'isspace',
'istitle', 'isupper', 'join', 'ljust', 'lower', 'lstrip', 'partition',
'replace', 'rfind', 'rindex', 'rjust', 'rpartition', 'rsplit', 'rstrip',
'split', 'splitlines', 'startswith', 'strip', 'swapcase', 'title',
'translate', 'upper', 'zfill']
person
ivanleoncz
schedule
26.05.2016