isdecimal和isdigit的区别
时间: 2023-09-24 08:06:04 浏览: 142
在Python中处理字符串之isdigit()方法的使用
`isdecimal()`和`isdigit()`是Python字符串方法,用于检查字符串是否只包含数字字符。
- `isdigit()`方法检查字符串是否只包含数字字符。它返回True,如果字符串只包含0到9的数字字符,则返回True,否则返回False。但是,它不支持其他数字系统(例如罗马数字)。
- `isdecimal()`方法检查字符串是否只包含十进制数字字符。它返回True,如果字符串只包含数字字符0至9,则返回True,否则返回False。与`isdigit()`不同,它不支持指数符号或小数点。
例如:
```python
s1 = '12345'
s2 = '①②③' # ①、②、③是Unicode数字字符,但不是十进制数字字符
s3 = '12.345'
print(s1.isdigit()) # True
print(s1.isdecimal()) # True
print(s2.isdigit()) # True
print(s2.isdecimal()) # False
print(s3.isdigit()) # False
print(s3.isdecimal()) # False
```
在上面的示例中,`s1`中包含十进制数字字符,因此`isdigit()`和`isdecimal()`都返回True。`s2`中包含Unicode数字字符,但不是十进制数字字符,因此`isdigit()`返回True,但`isdecimal()`返回False。`s3`中包含小数点,因此`isdigit()`和`isdecimal()`都返回False。
阅读全文