async def get_user_by_screen_name(self, screen_name: str) -> User:
        """
        Retrieves a user object based on the provided screen name.

        Parameters
        ----------
        screen_name : :class:`str`
            The screen name of the user to retrieve.

        Returns
        -------
        :class:`.user.User`
            An instance of the `User` class containing user details.

        Examples
        --------
        >>> user = await client.get_user_by_screen_name('example_user')
        >>> print(user)
        <User id="...">
        """
        response, _ = await self.gql.user_by_screen_name(screen_name)
        return User(self, response['data']['user']['result'])

        Retrieves a user object based on the provided screen name.

        Parameters
        ----------
        screen_name : :class:`str`
            The screen name of the user to retrieve.

        Returns
        -------
        :class:`.user.User`
            An instance of the `User` class containing user details.

        Examples
        --------
        >>> user = await client.get_user_by_screen_name('example_user')
        >>> print(user)
        <User id="...">
        
twikit/guest/client.py