List bpy.types in a scene including empties
I guess, you just want to execute something based on the actual type of object while running through a list of objects in the scene. In this case, better use the type attribute of each object, which returns (as you probably guess) the type per object so no need to compare against RNA types:

&gt;&gt;&gt; C.object
bpy.data.objects['Empty']

&gt;&gt;&gt; C.object.type
'EMPTY'


Test all objects of the collection in context (active collection):

import bpy

C = bpy.context

for obj in C.collection.objects:
    # Check for geometry type
    if obj.type not in ('EMPTY', 'CAMERA', 'LIGHT'):
        print ("Geometry object:", obj.name)
    # Check for empty
    elif obj.type == 'EMPTY':
        print ("Empty object:", obj.name)
        # Print the type
        print ("Draw type:", obj.empty_display_type)


API: https://docs.blender.org/api/current/bpy.types.Object.html?highlight=type#bpy.types.Object.type 

All types of objects for reference: 'MESH', 'CURVE', 'SURFACE', 'META', 'FONT', 'ARMATURE', 'LATTICE', 'EMPTY', 'GPENCIL', 'CAMERA', 'LIGHT', 'SPEAKER', 'LIGHT_PROBE'