code: def _choose_host(self):
          
          # If a host hasn't been chosen yet or there is only one host
          if len(self._hosts) == 1 or self._http_host is None:
              self._http_host = self._hosts[0]
          else:  # There is a list of hosts to choose from, pick a random one
              choice = self._http_host
              while choice == self._http_host:
                  choice = random.choice(self._hosts)
              self._http_host = choice
              self._notify(logging.INFO,
                           consts.LOG_MSG_NEW_SERVER % self._http_host)
  
          # Set the validation and the REST URLs
          secure = 's' if self._use_ssl else ''
          self._connection_validation_url = \
              consts.CONN_VALIDATION_URL_TEMPLATE.format(host=self._http_host,
                                                         secure=secure)
          self._rest_url = consts.REST_URL_TEMPLATE.format(host=self._http_host,
                                                           token=self._token,
                                                           secure=secure)
          self._token_verification_url = \
              consts.TOKEN_VERIFICATION_URL_TEMPLATE.format(host=self._http_host,
                                                            token=self._token,
                                                            secure=secure)
docs: This method randomly chooses a server from the server list given as
          a parameter to the parent PythonSDK
          :return: The selected host to which the Sender will attempt to
                   connect