首页 > 编程语言 >python判断字符串,str函数isdigit、isdecimal、isnumeric的区别

python判断字符串,str函数isdigit、isdecimal、isnumeric的区别

时间:2022-10-06 08:55:25浏览次数:92  
标签:unicodedata python isdecimal isnumeric num str isdigit True

原始链接:https://www.cnblogs.com/guigujun/p/6133057.html

python判断字符串,str函数isdigit、isdecimal、isnumeric的区别
s为字符串
s.isalnum() 所有字符都是数字或者字母
s.isalpha() 所有字符都是字母
s.isdigit() 所有字符都是数字
s.islower() 所有字符都是小写
s.isupper() 所有字符都是大写
s.istitle() 所有单词都是首字母大写,像标题
s.isspace() 所有字符都是空白字符、\t、\n、\r

判断是整数还是浮点数

a=123
b=123.123

>>>isinstance(a,int)
True
>>>isinstance(b,float)
True
>>>isinstance(b,int)
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

"〇","零","一","壱","二","弐","三","参","四","五","六","七","八","九","十","廿","卅","卌","百","千","万","万","亿"

标签:unicodedata,python,isdecimal,isnumeric,num,str,isdigit,True
From: https://www.cnblogs.com/leeyong49/p/16756994.html

相关文章

  • 【笨方法学python】ex24 - 更多练习
    代码如下:点击查看代码#coding=utf-8#更多练习print"Let'spracticeeverything."print'You\'dneedtoknow\'boutescapeswith\\thatdo\nnewlinesand......
  • 【笨方法学python】ex21 - 函数可以返回东西
    代码如下:点击查看代码#coding=utf-8#函数可以返回东西defadd(a,b):#加法print"ADDING%d+%d"%(a,b)returna+bdefsubtract(a,b):#......
  • 【笨方法学python】ex20 - 函数和文件
    代码如下:点击查看代码#-*-coding:utf-8--*-#函数和文件fromsysimportargvscript,input_file=argvdefprint_all(f):#定义print_all读fprin......
  • 【笨方法学python】ex19 - 函数和变量
    代码如下:点击查看代码#-*-coding:utf-8--*-#函数和变量defcheese_and_crackers(cheese_count,boxs_of_crackers): print"Youhave%dcheeses!"%cheese_cou......
  • 喜提JDK的BUG一枚!多线程的情况下请谨慎使用这个类的stream遍历。
    你好呀,我是歪歪。前段时间在RocketMQ的ISSUE里面冲浪的时候,看到一个pr,虽说是在RocketMQ的地盘上发现的,但是这个玩意吧,其实和RocketMQ没有任何关系。纯纯的就是......
  • python实验报告(第五周)
    一、实验目的和要求学会使用字符串的常用操作方法和正确应用正则表达式。二、实验环境软件版本:Python3.1064_bit三、实验过程1、实例1:使用字符串拼接输出一个关于程......
  • python字典
    字典的操作方法1.dict.get(key)根据键获取值,键不存在时返回默认值Nonedic={'a':1,'b':2}print(dic.get('a'))#输出为1print(dic.get('c'))#输出为None2.dict.......
  • 就因为JSON.stringify,我的年终奖差点打水漂了
    本文已参与 「掘力星计划」 ,赢取创作大礼包,挑战创作激励金。前言「欢迎在评论区讨论,掘金官方将在掘力星计划活动结束后,在评论区抽送100份掘金周边,抽奖详情见活动文章」......
  • Python:浮点数保留小数位数的方法整理
    示例print('%.2f'%1.255)#1.25print('{:.2f}'.format(1.2635))#1.26print(format(1.235,'.2f'))#1.24print(round(1.23456,2))#1.23参考Python保留......
  • java之String的一些常用方法
    string--字符串#######equals和==的区别?-equals:是比较两个对象是否一样(比较的内容->属性值)-==:比较两个地址是否一样-java8之前,常量池存放在堆中,java8以......