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

使用isdigit()

>>> 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判断字符_Python判断字符串是否为字母或者数字(浮点数)相关推荐

  1. python判断字母数字_Python判断字符串是否为字母或者数字(浮点数)的多种方法

    str为字符串s为字符串 str.isalnum() 所有字符都是数字或者字母 str.isalpha() 所有字符都是字母 str.isdigit() 所有字符都是数字 str.isspace() ...

  2. python判断字符_python判断字符串是字母 数字 大小写(转载)

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 今天遇到的字符串处理的问题,记录一下方便使用 str1 = input('请输入一个字符:') #初始化字符.数字.空格.特殊字符的计数 lowercas ...

  3. python基本字符_Python基本字符串,基础,之

    一:字符串 很多人初学编程时,总是担心自己数学不行,潜意识里认为数学好才能编程.实际上,大多数程序员打交道最多的是"字符串"而不是"数字".因为,编程是用来解决 ...

  4. python格式化字符_Python格式化字符串

    一.通过%来格式化输出. 格式化字符串时,Python使用一个字符串作为模板.模板中有格式符,这些格式符为真实值预留位置,并说明真实数值应该呈现的格式.Python用一个tuple将多个值传递给模板, ...

  5. python中如何判断输入的是英文字母_python如何判断一个字符是否为汉字,英文字母,数字,空还是其他...

    一直在忙工作的事情,对不起大家,今后一定抽出时间来写python,和大家一起学python. 今天给大家一段代码,大家可以看一下哈. # 判断一个字符是否为汉字,英文字母,数字,空还是其他 # 使用U ...

  6. 判断字母数字下划线python_如何验证Python中的字符串仅包含字母,数字,下划线和破折号?...

    您可以使用正则表达式来完成此任务.为了验证字符串仅包含字母,数字,下划线和破折号,我们可以使用以下正则表达式:" ^ [A-Za-z0-9 _-] * $". 示例import r ...

  7. 判断字符串是否是字母开头数字结尾,拆分字符串中的字母和数字。

    1. 拆分字符串中的字母和数字 splitString(str) {let letter = str.match(/^[a-z|A-Z]+/g)[0];let number = str.match(/ ...

  8. C语言 字符串分类统计 输入一行字符,分别统计出其中英文字母、数字、空格和其他字符的个数

    C语言 字符串分类统计 输入一行字符,分别统计出其中英文字母.数字.空格和其他字符的个数 题目: 输入一行字符,分别统计出其中英文字母.数字.空格和其他字符的个数 样例输入: aklsjflj123 ...

  9. C语言程序设计联系题 编写一个函数,由实参传来一个字符串,统计此字符串中的字母、数字、空格和其他字符的个数,在主函数中输入字符串以及输出上述结果。

    编写一个函数,由实参传来一个字符串,统计此字符串中的字母.数字.空格和其他字符的个数,在主函数中输入字符串以及输出上述结果. #include<stdio.h> #include<s ...

最新文章

  1. PTA 基础编程题目集 7-11 分段计算居民水费 C语言
  2. PN结中存在的Boltzmann常数
  3. c++输出数据的二进制表示形式
  4. 熵权法中计算的熵值与决策树的熵值完全不一样之谜
  5. 分享几段祖传的Python代码,拿来直接使用!
  6. 批量替换 MySQL 指定字段中的字符串
  7. 模型压缩 相关文章解读
  8. 基于Java+SpringBoot+vue+element实现前后端分离牙科诊所管理系统详细设计
  9. Flink java.lang.NoClassDefFoundError: org/apache/flink/api/common/functions/FlatMapFunction
  10. JavaScript 统计中英混合字符串的长度
  11. constellio——基于solr的开源搜索引擎系统源码研究(五)
  12. 图解抖音推荐算法(布局抖音短视频的可以参考)
  13. 应用程序框架实战二十六:查询对象
  14. Fuji-ImageJ分割中央凹无血管区
  15. AWS硬盘扩容过程记录
  16. python实现千牛客服自动回复语_千牛会用到的回复语有哪些?千牛自动回复短语大全...
  17. 【面试被虐】如何只用2GB内存从20亿,40亿,80亿个整数中找到出现次数最多的数?
  18. delphi创建excel写入数据并创建二维折线图
  19. 微信小程序在线点餐外卖小程序实现方法适合校园点餐毕业设计小程序(含代码解释)
  20. 梁漱溟:人生的三种关系

热门文章

  1. 王道计算机网络 传输层整理 超详细版
  2. 无类别地址CIDR概述
  3. android okhttpclient设置编码,Android之okhttp实现socket通讯(非原创)
  4. mysql 非等值条件 索引_慢SQL简述与定位
  5. usb转232线驱动_为什么越来越多人用USB,却不用RS232?USB有什么好?
  6. python random用法_python random 的用法
  7. MATLAB的GUI中给坐标轴四周加上边框
  8. QT学习笔记:常用快捷键总结表
  9. AttributeError: partially initialized module ‘aiohttp‘ has no attribute ‘ClientSession‘ (most...)
  10. 矩阵转置函数——指针自增的陷阱