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

一、 全角和半角

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

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

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

使用效果如下图 
    全角:

        

半角:

         

    以上内容转载自: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()    --- 仅单、双字节数字

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值