Saya percaya bahwa yang Anda inginkan adalah sesuatu seperti ini:
daftar atribut dari suatu objek
Menurut pendapat saya yang sederhana, fungsi bawaan dir()
dapat melakukan pekerjaan ini untuk Anda. Diambil dari help(dir)
output di Shell Python Anda:
dir (...)
dir([object]) -> list of strings
Jika dipanggil tanpa argumen, kembalikan nama dalam cakupan saat ini.
Selain itu, kembalikan daftar nama yang disusun menurut abjad yang terdiri dari (beberapa) atribut dari objek yang diberikan, dan atribut yang dapat dijangkau darinya.
Jika objek memasok metode yang bernama __dir__
, itu akan digunakan; jika tidak, logika dir () default digunakan dan mengembalikan:
- untuk objek modul: atribut modul.
- untuk objek kelas: atributnya, dan secara rekursif atribut basisnya.
- untuk objek lain: atributnya, atribut kelasnya, dan secara rekursif atribut kelas dasar kelasnya.
Sebagai contoh:
$ 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']
Ketika saya sedang memeriksa masalah Anda, saya memutuskan untuk menunjukkan pemikiran saya, dengan format yang lebih baik dari hasil dir()
.
dir_attributes.py (Python 2.7.6)
#!/usr/bin/python
""" Demonstrates the usage of dir(), with better output. """
__author__ = "ivanleoncz"
obj = "I am a string."
count = 0
print "\nObject Data: %s" % obj
print "Object Type: %s\n" % type(obj)
for method in dir(obj):
# the comma at the end of the print, makes it printing
# in the same line, 4 times (count)
print "| {0: <20}".format(method),
count += 1
if count == 4:
count = 0
print
dir_attributes.py (Python 3.4.3)
#!/usr/bin/python3
""" Demonstrates the usage of dir(), with better output. """
__author__ = "ivanleoncz"
obj = "I am a string."
count = 0
print("\nObject Data: ", obj)
print("Object Type: ", type(obj),"\n")
for method in dir(obj):
# the end=" " at the end of the print statement,
# makes it printing in the same line, 4 times (count)
print("| {:20}".format(method), end=" ")
count += 1
if count == 4:
count = 0
print("")
Semoga saya berkontribusi :).