code: def reverse(
              self,
              query,
              exactly_one=True,
              timeout=DEFAULT_SENTINEL,
              language=None,
      ):
          
          position = self._coerce_point_to_string(query)
          params = self._reverse_params(position)
  
          if language:
              params['language'] = language
  
          quoted_position = quote(position.encode('utf-8'))
          url = "?".join((self.api_reverse % dict(position=quoted_position),
                          urlencode(params)))
          logger.debug("%s.reverse: %s", self.__class__.__name__, url)
  
          return self._parse_reverse_json(
              self._call_geocoder(url, timeout=timeout), exactly_one
          )
docs: Return an address by location point.
  
          :param query: The coordinates for which you wish to obtain the
              closest human-readable addresses.
          :type query: :class:`geopy.point.Point`, list or tuple of ``(latitude,
              longitude)``, or string as ``"%(latitude)s, %(longitude)s"``.
  
          :param bool exactly_one: Return one result or a list of results, if
              available.
  
          :param int timeout: Time, in seconds, to wait for the geocoding service
              to respond before raising a :class:`geopy.exc.GeocoderTimedOut`
              exception. Set this only if you wish to override, on this call
              only, the value set during the geocoder's initialization.
  
          :param str language: Language in which search results should be
              returned. When data in specified language is not
              available for a specific field, default language is used.
              List of supported languages (case-insensitive):
              https://developer.tomtom.com/online-search/online-search-documentation/supported-languages
  
              .. versionadded:: 1.18.0
  
          :rtype: ``None``, :class:`geopy.location.Location` or a list of them, if
              ``exactly_one=False``.