zoukankan      html  css  js  c++  java
  • Python 字符串 (isdigit, isalnum,isnumeric)转

    Python isdigit() 方法检测字符串是否只由数字组成。

    语法

    isdigit()方法语法:

    str.isdigit()

    参数

    • 无。

    返回值

    如果字符串只包含数字则返回 True 否则返回 False。

    Python isdecimal() 方法检查字符串是否只包含十进制字符。这种方法只存在于unicode对象。

    注意:定义一个十进制字符串,只需要在字符串前添加 'u' 前缀即可。

    语法

    isdecimal()方法语法:

    str.isdecimal()

    参数

    返回值

    如果字符串是否只包含十进制字符返回True,否则返回False。

    1 str = u"this2009";  
    2 print str.isdecimal();
    3 
    4 str = u"23443434";
    5 print str.isdecimal()

    输出结果:

    1 False
    2 True

    Python isnumeric() 方法检测字符串是否只由数字组成。这种方法是只针对unicode对象。

    注:定义一个字符串为Unicode,只需要在字符串前添加 'u' 前缀即可。

    语法

    isnumeric()方法语法:

    str.isnumeric()

    参数

    • 无。

    返回值

    如果字符串中只包含数字字符,则返回 True,否则返回 False

    python中str函数isdigit、isdecimal、isnumeric的区别

    num = "1"  #unicode
    num.isdigit()   # True
    num.isdecimal() # True
    num.isnumeric() # True
    
    num = "1" # 全角
    num.isdigit()   # True
    num.isdecimal() # True
    num.isnumeric() # True
    
    num = b"1" # byte
    num.isdigit()   # True
    num.isdecimal() # AttributeError 'bytes' object has no attribute 'isdecimal'
    num.isnumeric() # AttributeError 'bytes' object has no attribute 'isnumeric'
    
    num = "IV" # 罗马数字
    num.isdigit()   # True
    num.isdecimal() # False
    num.isnumeric() # True
    
    num = "四" # 汉字
    num.isdigit()   # False
    num.isdecimal() # False
    num.isnumeric() # True
    
    ===================
    isdigit()
    True: Unicode数字,byte数字(单字节),全角数字(双字节),罗马数字
    False: 汉字数字
    Error: 无
    
    isdecimal()
    True: Unicode数字,,全角数字(双字节)
    False: 罗马数字,汉字数字
    Error: byte数字(单字节)
    
    isnumeric()
    True: Unicode数字,全角数字(双字节),罗马数字,汉字数字
    False: 无
    Error: byte数字(单字节)
    
    ================
    import unicodedata
    
    unicodedata.digit("2")   # 2
    unicodedata.decimal("2") # 2
    unicodedata.numeric("2") # 2.0
    
    unicodedata.digit("2")   # 2
    unicodedata.decimal("2") # 2
    unicodedata.numeric("2") # 2.0
    
    unicodedata.digit(b"3")   # TypeError: must be str, not bytes
    unicodedata.decimal(b"3") # TypeError: must be str, not bytes
    unicodedata.numeric(b"3") # TypeError: must be str, not bytes
    
    unicodedata.digit("Ⅷ")   # ValueError: not a digit
    unicodedata.decimal("Ⅷ") # ValueError: not a decimal
    unicodedata.numeric("Ⅷ") # 8.0
    
    unicodedata.digit("四")   # ValueError: not a digit
    unicodedata.decimal("四") # ValueError: not a decimal
    unicodedata.numeric("四") # 4.0
  • 相关阅读:
    攻防世界WEB新手区第一题
    攻防世界WEB新手区第四题
    12月14
    12月12
    12月13
    centos关机重启命令
    解决docker容器内没有ip addr | ifconfig | ping命令
    Docker + Redis5.0.9集群搭建,3主3从(分片 + 高可用 + 负载均衡)
    docker创建自定义网络,容器内部使用容器名相互ping通,配置不同网段互通
    docker常用命令
  • 原文地址:https://www.cnblogs.com/zqxqx/p/8035645.html
Copyright © 2011-2022 走看看