import unicodedata


def _is_punctuation(char):
    """
    判断字符是否为标点符号，这里包括其他除字母和数字以外的符号
    :param char: char
    :return: bool
    """

    cp = ord(char)
    if ((33 <= cp <= 47) or (58 <= cp <= 64) or
            (91 <= cp <= 96) or (123 <= cp <= 126)):
        return True
    cate = unicodedata.category(char)  # Pc, Pd, Pe, Pf, Pi, Po, Ps
    if cate.startswith("P"):
        return True
    return False