Is it possible to determine the UI panel class that is parent/host to an operator when its button is clicked?
You can define a property for the operator in order to identify something.
For instance:
class SimpleOperator(bpy.types.Operator):
    &quot;&quot;&quot;Tooltip&quot;&quot;&quot;
    bl_idname = &quot;object.simple_operator&quot;
    bl_label = &quot;Simple Object Operator&quot;

    # &gt;&gt;&gt;&gt; Declare a property
    some_value = IntProperty(default=0)

    @classmethod
    def poll(cls, context):
        return context.active_object is not None

    def execute(self, context):
        print(self.some_value)
        return {'FINISHED'}

Then, in the panel you can assign the property value as you want:
class HelloWorldPanel(bpy.types.Panel):
    &quot;&quot;&quot;Creates a Panel in the Object properties window&quot;&quot;&quot;
    bl_label = &quot;Hello World Panel&quot;
    bl_idname = &quot;OBJECT_PT_hello&quot;
    bl_space_type = 'PROPERTIES'
    bl_region_type = 'WINDOW'
    bl_context = &quot;object&quot;

    def draw(self, context):
        layout = self.layout

        row = layout.row()
        op = row.operator(&quot;object.simple_operator&quot;)
        # &gt;&gt;&gt;&gt; Assign its value
        op.some_value = 1
        op = row.operator(&quot;object.simple_operator&quot;)
        # &gt;&gt;&gt;&gt; Assign its value
        op.some_value = 2

Alternatively, you can assign the value in a subclass if your want to work with subclasses.