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