• isdigit isdecimal isnumeric 区别


    一、代码测试

    1. num = "1" #unicode
    2. num.isdigit() # True
    3. num.isdecimal() # True
    4. num.isnumeric() # True
    5. num = "1" # 全角
    6. num.isdigit() # True
    7. num.isdecimal() # True
    8. num.isnumeric() # True
    9. num = b"1" # byte
    10. num.isdigit() # True
    11. num.isdecimal() # AttributeError 'bytes' object has no attribute 'isdecimal'
    12. num.isnumeric() # AttributeError 'bytes' object has no attribute 'isnumeric'
    13. num = "IV" # 罗马数字
    14. num.isdigit() # True
    15. num.isdecimal() # False
    16. num.isnumeric() # True
    17. num = "四" # 汉字
    18. num.isdigit() # False
    19. num.isdecimal() # False
    20. num.isnumeric() # True

    二、总结

    isdigit()
    True: Unicode数字,byte数字(单字节),全角数字(双字节),罗马数字
    False: 汉字数字
    Error: 无
     
    isdecimal()
    True: Unicode数字,,全角数字(双字节)
    False: 罗马数字,汉字数字
    Error: byte数字(单字节)
     
    isnumeric()
    True: Unicode数字,全角数字(双字节),罗马数字,汉字数字
    False: 无
    Error: byte数字(单字节)

    三、源码分析

    __init__.py 

    1. def isdecimal(self):
    2. return self.data.isdecimal()
    3. def isdigit(self):
    4. return self.data.isdigit()
    5. def isnumeric(self):
    6. return self.data.isnumeric()

     builtins.py

    1. def isdecimal(self, *args, **kwargs): # real signature unknown
    2. """
    3. Return True if the string is a decimal string, False otherwise.
    4. A string is a decimal string if all characters in the string are decimal and
    5. there is at least one character in the string.
    6. 如果字符串中的所有字符都是十进制和,则该字符串为十进制字符串,字符串中至少有一个字符。
    7. """
    8. pass
    9. def isdigit(self, *args, **kwargs): # real signature unknown
    10. """
    11. Return True if the string is a digit string, False otherwise.
    12. A string is a digit string if all characters in the string are digits and there
    13. is at least one character in the string.
    14. 如果字符串中的所有字符都是数字,且字符串中至少有一个字符,则该字符串为数字字符串。
    15. """
    16. pass
    17. def isnumeric(self, *args, **kwargs): # real signature unknown
    18. """
    19. Return True if the string is a numeric string, False otherwise.
    20. A string is numeric if all characters in the string are numeric and there is at
    21. least one character in the string.
    22. 如果字符串中的所有字符都是数字,且字符串中至少有一个字符,则该字符串为数值型。
    23. """
    24. pass

     

  • 相关阅读:
    基于GoFrame+Vue+ElementUI搭建的博客管理系统
    WeChat Subscribers Lite - 微信公众订阅号自动回复WordPress插件
    文本层次语义元素
    【C++】C++入门
    Java编程实战12:解数独
    docker容器操作
    JAVA代码实现文件下载,网络URL的下载到本地指定目录,删除。文件的上传
    制作一个简单HTML旅游网站(HTML+CSS+JS)无锡旅游网页设计与实现8个页面
    JSP与ASP、PHP的比较
    当下IT测试技术员的求职困境
  • 原文地址:https://blog.csdn.net/c_lanxiaofang/article/details/127956632