code: def begin(self):
          
          super(Transaction, self).begin()
          try:
              response_pb = self._client._datastore_api.begin_transaction(self.project)
              self._id = response_pb.transaction
          except:  # noqa: E722 do not use bare except, specify exception instead
              self._status = self._ABORTED
              raise
docs: Begins a transaction.
  
          This method is called automatically when entering a with
          statement, however it can be called explicitly if you don't want
          to use a context manager.
  
          :raises: :class:`~exceptions.ValueError` if the transaction has
                   already begun.