Object.type - Empty / Effector
An empty

is_empty = obj.type == 'EMPTY'
#or 
is_empty = obj.data is None


All objects have a field attribute, that is 'NONE' if there is no force field assigned to it.

is_effector = obj.field.type != 'NONE'