python 判断字符串是否为整数、小数或布尔值

您所在的位置:网站首页 撩夫指南全文免费阅读 python 判断字符串是否为整数、小数或布尔值

python 判断字符串是否为整数、小数或布尔值

2024-02-24 03:24| 来源: 网络整理| 查看: 265

def check_value(value): """判断字符串是否为整数、小数或bool值 参数:value为字符串 返回:如果是整数、小数或bool值,则返回相应类型,否则返回字符串类型 """ if value.count(".") != 1: # 非小数 if value.isdigit(): # 判断是否为正整数 return int(value) elif value.count("-") == 1 and value.startswith("-"): # 判断是否为负整数 num = value.split("-")[-1] if num.isdigit(): return int(value) else: return check_bool(value) else: return check_bool(value) else: # 可能为小数 left = value.split(".")[0] right = value.split(".")[1] if right.isdigit(): if left.isdigit(): # 是否为正小数 return float(value) elif left.count("-") == 1 and left.startswith("-"): # 是否为负小数 left_num = left.split("-")[-1] if left_num.isdigit(): return float(value) else: return check_bool(value) else: return check_bool(value) else: return check_bool(value) def check_bool(value): """判断字符串是否为bool值 参数:value为字符串 返回:如果是true/false, on/off(不区分大小写),则返回True, False,否则返回字符串类型 """ if value.title() in ("True", "On"): # title()函数将字符串的首字母大写,其余字母全小写 return True elif value.title() in ("False", "Off"): return False else: return value

大致思路:

1、根据小数点判断是否为小数

2、判断小数点两边的是否为整数(需考虑负号的情况)

3、注意:isdigit() 方法只能判断正整数,不能判断负整数,所以需要额外判断一下负整数的情况。

4、如果需要返回非整数、小数的字符串,就要像上面那样补全else的return,否则会出现漏掉一些字符串的情况,导致一些字符串输出为None

5、可以直接使用,调用check_value()函数即可,参数为字符串。

6、我自己用这个函数把 ini 的配置文件全部转化为Python 字典。

参考文章:

python判断字符串是否为小数的方法-Python学习网



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3