Though the documentation refers to a "Describe object", it must be some sort of C class (apparently via the arcgisscripting.create function), instead of a Python class. The standard Python introspection methods don't turn up much information (see below).
If one wishes to summarize all the known info of a dataset, how might one dynamically identify which properties apply to the current instance--without writing a long series of if statements and/or going through all the potential properties?
For reference: given a variable named "desc" returned from a call to arcpy.Describe, here are the results of some inspection and introspection operations:
<SPAN class="operator token">>></SPAN><SPAN class="operator token">></SPAN> type<SPAN class="punctuation token">(</SPAN>desc<SPAN class="punctuation token">)</SPAN>
<SPAN class="operator token"><</SPAN>type <SPAN class="string token">'geoprocessing describe data object'</SPAN><SPAN class="operator token">></SPAN>
<SPAN class="operator token">>></SPAN><SPAN class="operator token">></SPAN> dir<SPAN class="punctuation token">(</SPAN>desc<SPAN class="punctuation token">)</SPAN>
<SPAN class="punctuation token">[</SPAN><SPAN class="punctuation token">]</SPAN>
<SPAN class="operator token">>></SPAN><SPAN class="operator token">></SPAN> desc<SPAN class="punctuation token">.</SPAN>__name__
<SPAN class="string token">'Describe Object'</SPAN>
<SPAN class="operator token">>></SPAN><SPAN class="operator token">></SPAN> desc<SPAN class="punctuation token">.</SPAN>__class__
Traceback <SPAN class="punctuation token">(</SPAN>most recent call last<SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">:</SPAN>
File <SPAN class="string token">"<interactive input>"</SPAN><SPAN class="punctuation token">,</SPAN> line <SPAN class="number token">1</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="keyword token">in</SPAN> <SPAN class="operator token"><</SPAN>module<SPAN class="operator token">></SPAN>
AttributeError<SPAN class="punctuation token">:</SPAN> DescribeData<SPAN class="punctuation token">:</SPAN> Method __class__ does <SPAN class="operator token">not</SPAN> exist
<SPAN class="operator token">>></SPAN><SPAN class="operator token">></SPAN> desc<SPAN class="punctuation token">.</SPAN>__repr__
Traceback <SPAN class="punctuation token">(</SPAN>most recent call last<SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">:</SPAN>
File <SPAN class="string token">"<interactive input>"</SPAN><SPAN class="punctuation token">,</SPAN> line <SPAN class="number token">1</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="keyword token">in</SPAN> <SPAN class="operator token"><</SPAN>module<SPAN class="operator token">></SPAN>
AttributeError<SPAN class="punctuation token">:</SPAN> DescribeData<SPAN class="punctuation token">:</SPAN> Method __repr__ does <SPAN class="operator token">not</SPAN> exist
<SPAN class="operator token">>></SPAN><SPAN class="operator token">></SPAN> isinstance<SPAN class="punctuation token">(</SPAN>desc<SPAN class="punctuation token">,</SPAN> object<SPAN class="punctuation token">)</SPAN>
<SPAN class="token boolean">True</SPAN>
<SPAN class="operator token">>></SPAN><SPAN class="operator token">></SPAN> desc<SPAN class="punctuation token">.</SPAN>__dict__
Traceback <SPAN class="punctuation token">(</SPAN>most recent call last<SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">:</SPAN>
File <SPAN class="string token">"<interactive input>"</SPAN><SPAN class="punctuation token">,</SPAN> line <SPAN class="number token">1</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="keyword token">in</SPAN> <SPAN class="operator token"><</SPAN>module<SPAN class="operator token">></SPAN>
AttributeError<SPAN class="punctuation token">:</SPAN> DescribeData<SPAN class="punctuation token">:</SPAN> Method __dict__ does <SPAN class="operator token">not</SPAN> exist
<SPAN class="operator token">>></SPAN><SPAN class="operator token">></SPAN> help<SPAN class="punctuation token">(</SPAN>desc<SPAN class="punctuation token">)</SPAN>
Help on geoprocessing describe data object object<SPAN class="punctuation token">:</SPAN>
Describe Object <SPAN class="operator token">=</SPAN> <SPAN class="keyword token">class</SPAN> <SPAN class="token class-name">geoprocessing</SPAN> describe data object<SPAN class="punctuation token">(</SPAN>object<SPAN class="punctuation token">)</SPAN>
<SPAN class="operator token">>></SPAN><SPAN class="operator token">></SPAN> <SPAN class="keyword token">print</SPAN><SPAN class="punctuation token">(</SPAN>inspect<SPAN class="punctuation token">.</SPAN>getmodule<SPAN class="punctuation token">(</SPAN>desc<SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">)</SPAN>
None
<SPAN class="operator token">>></SPAN><SPAN class="operator token">></SPAN> inspect<SPAN class="punctuation token">.</SPAN>getclasstree<SPAN class="punctuation token">(</SPAN>desc<SPAN class="punctuation token">)</SPAN>
Traceback <SPAN class="punctuation token">(</SPAN>most recent call last<SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">:</SPAN>
File <SPAN class="string token">"<interactive input>"</SPAN><SPAN class="punctuation token">,</SPAN> line <SPAN class="number token">1</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="keyword token">in</SPAN> <SPAN class="operator token"><</SPAN>module<SPAN class="operator token">></SPAN>
File <SPAN class="string token">"C:\Python27\ArcGISx6410.4\Lib\inspect.py"</SPAN><SPAN class="punctuation token">,</SPAN> line <SPAN class="number token">726</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="keyword token">in</SPAN> getclasstree
<SPAN class="keyword token">for</SPAN> c <SPAN class="keyword token">in</SPAN> classes<SPAN class="punctuation token">:</SPAN>
TypeError<SPAN class="punctuation token">:</SPAN> <SPAN class="string token">'geoprocessing describe data object'</SPAN> object <SPAN class="keyword token">is</SPAN> <SPAN class="operator token">not</SPAN> iterable
<SPAN class="operator token">>></SPAN><SPAN class="operator token">></SPAN> inspect<SPAN class="punctuation token">.</SPAN>getmro<SPAN class="punctuation token">(</SPAN>desc<SPAN class="punctuation token">)</SPAN>
Traceback <SPAN class="punctuation token">(</SPAN>most recent call last<SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">:</SPAN>
File <SPAN class="string token">"<interactive input>"</SPAN><SPAN class="punctuation token">,</SPAN> line <SPAN class="number token">1</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="keyword token">in</SPAN> <SPAN class="operator token"><</SPAN>module<SPAN class="operator token">></SPAN>
File <SPAN class="string token">"C:\Python27\ArcGISx6410.4\Lib\inspect.py"</SPAN><SPAN class="punctuation token">,</SPAN> line <SPAN class="number token">346</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="keyword token">in</SPAN> getmro
_searchbases<SPAN class="punctuation token">(</SPAN>cls<SPAN class="punctuation token">,</SPAN> result<SPAN class="punctuation token">)</SPAN>
File <SPAN class="string token">"C:\Python27\ArcGISx6410.4\Lib\inspect.py"</SPAN><SPAN class="punctuation token">,</SPAN> line <SPAN class="number token">337</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="keyword token">in</SPAN> _searchbases
<SPAN class="keyword token">for</SPAN> base <SPAN class="keyword token">in</SPAN> cls<SPAN class="punctuation token">.</SPAN>__bases__<SPAN class="punctuation token">:</SPAN>
AttributeError<SPAN class="punctuation token">:</SPAN> DescribeData<SPAN class="punctuation token">:</SPAN> Method __bases__ does <SPAN class="operator token">not</SPAN> exist<SPAN class="line-numbers-rows"><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN></SPAN>