Python中 各种数字类型的判别(numerica, digital, decimal)

一、 全角和半角

        全角:是指一个全角字符占用两个标准字符(或两个半角字符)的位置。 全角占两个字节。 汉字字符和规定了全角的英文字符及国标GB2312-80中的图形符号和特殊字符都是全角字符。在全角中,字母和数字等与汉字一样占据着等宽的位置。 

        半角:是指一个字符占用一个标准的字符位置。半角占一个字节。 半角就是 ASCII 方式的字符,在没有汉字输入法起作用的时候,输入的字母、数字和字符都是半角的。 

        Tip:每个半角字符只占用一字节的空间(一字节有8位,共256个编码空间)。汉语、日语、及朝鲜文等象形字语言的字库量远大于256个编码空间,所以改用两个字节来储存。同时,由于中日韩等象形文字的书写习惯,如果统一使用全角字符的话,排列起来也显得整齐。为了排列整齐,英文和其它拉丁文的字符和标点也提供了全角格式。

使用效果如下图 
    全角:

        Python中 各种数字类型的判别(numerica, digital, decimal)_第1张图片

半角:

         Python中 各种数字类型的判别(numerica, digital, decimal)_第2张图片

    以上内容转载自:https://blog.csdn.net/someday1314/article/details/69934312

总结:

    英文全部半角,占用一个字符位;

    中文可选半角,全角(Shift+Space),全角占用两个字符位。

                           标点的切换用快捷键(Shift+。)

二、 isdigital,ismumerical,isdecimal的区别

num = ['1', '1', 'Ⅷ', '一', b'50']

decimal = [i for i in num[:4] if i.isdecimal()]     # 仅单字节、双字节数字,byte数字报错
digital = [i for i in num if i.isdigit()]           # 非汉子
numeric = [i for i in num[:4] if i.isnumeric()]     # byte数字报错

print(decimal,digital,numeric, sep='\n')

    运行结果:

['1', '1']
['1', '1', b'50']
['1', '1', 'Ⅷ', '一']

结论:

    1. isdigital()      --- 除汉子外
    2. isnumeric()   --- byte数字
    3. isdecimal()    --- 仅单、双字节数字

你可能感兴趣的:(Python,Python基础)