Summary
Lists the fields in a feature class, shapefile, or table in a specified dataset. The returned list can be limited with search criteria for name and field type and will contain field objects.
Syntax
ListFields (dataset, {wild_card}, {field_type})| Parameter | Explanation | Data Type | 
| dataset | The specified feature class or table whose fields will be returned. | String | 
| wild_card | The wild_card limits the results returned. If no wild_card is specified, all values are returned. (The default value is None) | String | 
| field_type | The specified field type to be returned. Valid field types are: 
 (The default value is All) | String | 
Code sample
List field properties.
import arcpy
# For each field in the Hospitals feature class, print
#  the field name, type, and length.
fields = arcpy.ListFields("c:/data/municipal.gdb/hospitals")
for field in fields:
    print("{0} is a type of {1} with a length of {2}"
          .format(field.name, field.type, field.length))Generate a list of field names.
import arcpy
featureclass = "c:/data/municipal.gdb/hospitals"
field_names = [f.name for f in arcpy.ListFields(featureclass)]