code: def put(self, name, handler, builder=None, request=None, get=True):
          
          chan = self._channel(name)
          return _p4p.ClientOperation(chan, handler=unwrapHandler(handler, self._nt),
                                      builder=defaultBuilder(builder, self._nt),
                                      pvRequest=wrapRequest(request), get=get, put=True)
docs: Write a new value to a PV.
  
          :param name: A single name string or list of name strings
          :param callable handler: Completion notification.  Called with None (success), RemoteError, or Cancelled
          :param callable builder: Called when the PV Put type is known.  A builder is responsible
                                   for filling in the Value to be sent.  builder(value)
          :param request: A :py:class:`p4p.Value` or string to qualify this request, or None to use a default.
          :param bool get: Whether to do a Get before the Put.  If True then the value passed to the builder callable
                           will be initialized with recent PV values.  eg. use this with NTEnum to find the enumeration list.
  
          :returns: A object with a method cancel() which may be used to abort the operation.