Chcesz spojrzeć na funkcję dir()
:
>>> li = []
>>> dir(li)
['append', 'count', 'extend', 'index', 'insert',
'pop', 'remove', 'reverse', 'sort']
li
jest lista, więc dir(li)
zwraca listę wszystkich metod listy. Zwróć uwagę, że zwrócona lista zawiera nazwy metod jako łańcuchy, a nie same metody.
Edytowanie w odpowiedzi na komentarz:
Nie będzie to pokazać wszystkie odziedziczone metody, jak również. Rozważmy następujący przykład:
test.py:
class Foo:
def foo(): pass
class Bar(Foo):
def bar(): pass
interpreter Pythona:
>>> from test import Foo, Bar
>>> dir(Foo)
['__doc__', '__module__', 'foo']
>>> dir(Bar)
['__doc__', '__module__', 'bar', 'foo']
Należy pamiętać, żePython's documentation Zjednoczone:
Uwaga: Ponieważ dir()
jest dostarczany głównie dla wygody użytkowania w interaktywny szybka, próbuje dostarczać interesujący zbiór nazw więcej niż stara się dostarczyć rygorystycznie lub konsekwentnie zdefiniowanego ustaw nazw, , a szczegółowe zachowanie może ulec zmianie w wersjach. W przypadku przykładu atrybuty metaclass nie są na liście wyników, gdy argument jest klasą.
Dlatego nie jest bezpiecznie używać w swoim kodzie. Zamiast tego użyj vars()
. Vars()
nie zawiera informacji o superklasach, musisz je odebrać osobiście.
Jeśli używasz dir()
znaleźć informacje w interaktywny interpreter, rozważyć zastosowanie help()
.
Duplikat: http://stackoverflow.com/questions/546337/how-do-i-perform-introspection-on-an-object-in-python-2-x –
I to też: http://stackoverflow.com/questions/192109/ is-there-a-function-in-python-to-print-all-current-properties-and-values-of-a –
['property'] (https://docs.python.org/ 2/library/functions.html? Highlight = property # property) to nazwa nadana innej koncepcji w pythonie. termin "atrybut" bardziej Ci odpowiada. dogłębna lektura, która mi się podoba, o obu jest http://www.cafepy.com/article/python_attributes_and_methods/python_attributes_and_methods.html – n611x007