def look_at_obj(self, objecttype):
    # Step 1: Pick up the object
    if self.name2type(self.holding) != self.name2type(objecttype):
        # Find the object
        entity = self.find_object(objecttype)
        if entity is None:
            # Find receptacletypes that can contain the object
            r_types = self.find_canbe_contained(objecttype)
            if r_types is None:
                # Explore the environment
                self.explore()
                return
            else:
                # Check each receptacletype to find the object
                for r_type in r_types:
                    r_entitys = self.find_receptacles(r_type)
                    if r_entitys is None:
                        continue
                    for r_entity in r_entitys:
                        self.goto(r_entity.name)
                        if r_entity.openable and not r_entity.isopen:
                            self.open_receptacle(r_entity.name)
                            return
        else:
            # Go to the object's receptacle and take it
            self.goto(entity.in_on)
            r_entity = self.seen_entitys[entity.in_on]
            if r_entity.openable and not r_entity.isopen:
                self.open_receptacle(r_entity.name)
            self.take(entity.name, entity.in_on)
            return
    else:
        # Step 2: Find a desklamp
        desklamp = self.find_receptacle('desklamp')
        if desklamp is None:
            # Explore the environment to find a desklamp
            self.explore()
            return
        else:
            # Step 3: Go to the desklamp and turn it on
            self.goto(desklamp.name)
            if not desklamp.ison:
                self.turn_on(desklamp.name)
            
            # Step 4: Examine the object (assuming this is done by just being near the desklamp)
            # The actual examination logic would depend on the environment's implementation
            # For now, we assume the object is examined once the desklamp is on
            print(f"Examining {self.holding} under the light of {desklamp.name}")
            return