<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def get_user(self, user_id=None, username=None, email=None):
 """ Returns the user specified by either ID, username or email. Since more than user can have the same email address, searching by that term will return a list of 1 or more User objects. Searching by username or ID will return a single User. If a user_id that doesn't belong to the current account is searched for, a Forbidden exception is raised. When searching by username or email, a NotFound exception is raised if there is no matching user. """

        if user_id:
            uri = "/users/%s" % user_id
        elif username:
            uri = "/users?name=%s" % username
        elif email:
            uri = "/users?email=%s" % email
        else:
            raise ValueError("You must include one of 'user_id', "
                    "'username', or 'email' when calling get_user().")
        resp, resp_body = self.method_get(uri)
        if resp.status_code == 404:
            raise exc.NotFound("No such user exists.")
        users = resp_body.get("users", [])
        if users:
            return [User(self, user) for user in users]
        else:
            user = resp_body.get("user", {})
            if user:
                return User(self, user)
            else:
                raise exc.NotFound("No such user exists.")