code: def output_pins(self, pins):
          
          # General implementation just loops through pins and writes them out
          # manually.  This is not optimized, but subclasses can choose to implement
          # a more optimal batch output implementation.  See the MCP230xx class for
          # example of optimized implementation.
          for pin, value in iter(pins.items()):
              self.output(pin, value)
docs: Set multiple pins high or low at once.  Pins should be a dict of pin
          name to pin value (HIGH/True for 1, LOW/False for 0).  All provided pins
          will be set to the given values.