资讯专栏INFORMATION COLUMN

Python判断字符串是否为字母或者数字(浮点数)

ChristmasBoy / 3318人阅读

摘要:为字符串为字符串所有字符都是数字或者字母所有字符都是字母所有字符都是数字所有字符都是空白字符检查字符串是数字浮点数方法部分第一种最简单因为使用有一个例外是例外示例使用综合综合还是无法完全识别检查或者使用第二种只能判断是整数使用必须

str为字符串s为字符串

str.isalnum() 所有字符都是数字或者字母

str.isalpha() 所有字符都是字母

str.isdigit() 所有字符都是数字

str.isspace() 所有字符都是空白字符、t、n、r

检查字符串是数字/浮点数方法

float部分

>> float("Nan")
nan
>> float("Nan")
nan
>> float("nan")
nan
>> float("INF")
inf
>> float("inf")
inf
>> float("-INF")
inf
>> float("-inf")
inf

第一种:最简单

def is_number(str):
    try:
        # 因为使用float有一个例外是"NaN"
        if str=="NaN":
            return False
        float(str)
        return True
    except ValueError:
        return False
    
float例外示例
 >>> float("NaN")
 nan

使用complex()

def is_number(s):
    try:
        complex(s) # for int, long, float and complex
    except ValueError:
        return False

    return True

综合1

def is_number(s):
    try:
        float(s) # for int, long and float
    except ValueError:
        try:
            complex(s) # for complex
        except ValueError:
            return False

    return True

综合2-还是无法完全识别

def is_number(n):
    is_number = True
    try:
        num = float(n)
        # 检查 "nan" 
        is_number = num == num   # 或者使用 `math.isnan(num)`
    except ValueError:
        is_number = False
    return is_number
    
>>> is_number("Nan")   
False

>>> is_number("nan")  
False

>>> is_number("123")  
True

>>> is_number("-123") 
True

>>> is_number("-1.12")
True

>>> is_number("abc")  
False

>>> is_number("inf")  
True

第二种:只能判断是整数

使用isnumeric()

# str必须是uniconde模式
>>> str = u"345"
>>> str.isnumeric()True
http://www.tutorialspoint.com/python/string_isnumeric.htm

http://docs.python.org/2/howt...

使用isdigit()

https://docs.python.org/2/lib...

>>> str = "11"
>>> print str.isdigit()
True

>>> str = "3.14"
>>> print str.isdigit()
False

>>> str = "aaa"
>>> print str.isdigit()
False

使用int()

def is_int(str):
    try:
        int(str)
        return True
    except ValueError:
        return False

第三种:使用正则(最安全方法)

import re
def is_number(num):
    pattern = re.compile(r"^[-+]?[-0-9]d*.d*|[-+]?.?[0-9]d*$")
    result = pattern.match(num)
    if result:
        return True
    else:
        return False
        
        
>>>: is_number("1")
True

>>>: is_number("111")
True

>>>: is_number("11.1")
True

>>>: is_number("-11.1")
True

>>>: is_number("inf")
False

>>>: is_number("-inf")
False

原文网址:Python判断字符串是否为字母或者数字(浮点数)

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/42125.html

相关文章

  • 爬虫不得不学之 JavaScript 入门篇

    摘要:为数值固定的表示法,用来表示整数和浮点数的。无论你写何种进制,它的存储还是以二进制来存储的,所以这样就弄成了浮点数的存储精确度,浮点数只能精确到位小数。关系运算符关系运算符有和。赋值运算符赋值运算符有六个。 现在的爬虫越来越难了,不再和之前的那样,随便抓个包就可以找到相关的 url ,然后 post 一下或者 get 一下数据就出来了。还有一个可能就是可能你以前用来学习的爬虫网站太简单...

    tracymac7 评论0 收藏0
  • Python基础学习之常用六大数据类型

    摘要:刚开始学习一门编程语言,除了了解运行环境与语言类型之外,最基本还是从该语言的基本数据类型开始学起。六大常用数据类型整数浮点数字符串列表元组字典讲解这些先说一下中的变量与变量名。支持对整数和浮点数直接进行四则混合运算。 刚开始学习一门编程语言,除了了解运行环境与语言类型之外,最基本还是从该语言的基本数据类型开始学起。 Python六大常用数据类型: int 整数 floa...

    GT 评论0 收藏0
  • Python数据类型

    摘要:字符串进阶原始字符串表示方式及使用如何格式化字符串中文字符串的使用原始字符串表示方式及使用防止转义字符输入过多而使代码阅读性下降注意原始字符串不得以结尾。列表中可以包含任何数据类型,也可包含另一个列表。 1.python的数据类型: 字符串 整数 浮点数 类型转换 字符串编码 列表、元组与字典 2.应用: 序列及其通用操作 相关逻辑运算 1.1字符串(Str) 1.Pytho...

    wua_wua2012 评论0 收藏0
  • python基础数据类型语法

    摘要:标识符我们自己在写代码的时候,取的名字。 #标识符:我们自己在写代码的时候,取的名字。#项目名 project name#包名 package name#模块名 .py ptthon文件名#规范:由字母数字下划线组成,但不能以数字#简明知意:以项目命名#不同的字母 数字 用下划线隔...

    番茄西红柿 评论0 收藏2637
  • JavaScript 之 核心语法 [ 数据类型 ]

    摘要:数据类型数据类型表示数值的类型类型的分类原始类型类型数字类型类型分为整数和浮点数整数正整数负整数变量为数字类型整数显示浮点数小数变量为数字类型浮点数显示浮点数在小数点前面如果没有数字,会被默认为在小数点前的数字为比如会显示浮点数的 数据类型 数据类型 - 表示数值的类型 类型的分类 原始类型 number类型(数字类型) number类型分为整数和浮点数 整数 - 正整数 、0 、负...

    luffyZh 评论0 收藏0

发表评论

0条评论

ChristmasBoy

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<