最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python判斷字符串是否為字母或者數(shù)字(浮點(diǎn)數(shù))的多種方法

 更新時(shí)間:2018年08月03日 11:26:24   作者:風(fēng)v月  
本文給大家?guī)砣N方法基于Python判斷字符串是否為字母或者數(shù)字(浮點(diǎn)數(shù)),非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

str為字符串s為字符串

str.isalnum() 所有字符都是數(shù)字或者字母

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

str.isdigit() 所有字符都是數(shù)字

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

檢查字符串是數(shù)字/浮點(diǎn)數(shù)方法

float部分

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

第一種:最簡(jiǎn)單

def is_number(str):
  try:
    # 因?yàn)槭褂胒loat有一個(gè)例外是'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-還是無(wú)法完全識(shí)別

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

第二種:只能判斷是整數(shù)

使用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

總結(jié)

以上所述是小編給大家介紹的Python判斷字符串是否為字母或者數(shù)字(浮點(diǎn)數(shù))的多種方法,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!

相關(guān)文章

最新評(píng)論

宣城市| 岳阳市| 区。| 阜平县| 郓城县| 大方县| 平凉市| 镇坪县| 武安市| 孝义市| 藁城市| 南江县| 南投县| 达拉特旗| 新巴尔虎左旗| 马尔康县| 綦江县| 察哈| 贡觉县| 萨迦县| 西丰县| 遂平县| 宜章县| 大关县| 大理市| 田林县| 桃园市| 乌兰浩特市| 弥渡县| 汕尾市| 永嘉县| 新宾| 高密市| 靖宇县| 山丹县| 铜梁县| 德保县| 新密市| 乐安县| 延边| 远安县|