Python3:应该将字符串中的字符视为Int,Float还是String?

提姆

目标:

(在Python 3.6中)

确定传递给函数的字符串应解释为Int,Float还是String。希望(具有内置的Python函数)无需编写自己的函数即可在Python中遍历字符。

基本上,像Catoi()atoll()函数一样,如果成功读取了整个缓冲区。

应标记为Int:

  • “ -1234”
  • “ 1234”
  • “ +1234”

应标记为“浮动”:

  • “ -1.234”
  • “ 1.234”
  • “ +1.234”

应标记为字符串:

  • “ 972-727-9857”
  • “ 1_2345”
  • “ asdf”

尝试过:

使用强制转换:

def find_type(s):
    try:
        int(s)
        return int
    except ValueError:
        pass
    try:
        float(s)
        return float
    except ValueError:
        pass
    return str
 

^上面有缺点:

  • “ 1_234”-> int(1234)

使用AST

import ast

def find_type(s):
    obj_type = ast.literal_eval(s)
    if isinstance(obj_type, float):
        return float
    if isinstance(obj_type, int):
        return int
    return str

^这也有以下问题:

  • “ 123_123”-> int(123123)
  • “ 123-123-123”-> int(-123)

我只是注定要编写自己的行走字符的函数吗?...我将只用C语言编写...

如何将字符串解析为float或int?

^我发现了上面的内容,但是并不能完全解决我的问题。

提姆

嗯...发布此问题后,我想到了这一点:

使用正则表达式:

import re
int_regex = re.compile(r'^(-|\+)?[0-9]+$')
float_regex = re.compile(r'^(-|\+)?([0-9]+)?\.[0-9]+$')

def find_type(s):
    if re.match(int_regex, s):
        return int
    if re.match(float_regex, s):
        return float
    return str

我想这可能是唯一/最好的方法。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将字符串视为十六进制Python

来自分类Dev

将JoinColumn中的空字符串视为null

来自分类Dev

将ASCII字符串转换为int / float / long

来自分类Dev

从python3脚本中,如何将字符串传递到bash程序中?

来自分类Dev

Python将字典视为字符串

来自分类Dev

将字符串文字视为常量

来自分类Dev

如何在Python3中将数字字符串转换为int列表

来自分类Dev

Laravel将int或float数验证为字符串

来自分类Dev

确定line是python中的日期,字符串还是int

来自分类Dev

ValueError:无法在python 3中将字符串转换为float:''

来自分类Dev

将实例“ count”合并到加入字符串的列表中(Python3)

来自分类Dev

如何使用正则表达式在字符串中的“比较运算符”之后提取值,并在python中查找值是object / str还是int / float?

来自分类Dev

我应该将翻译存储在核心数据中还是作为本地字符串存储?

来自分类Dev

Python oursql将字符串变量视为char数组

来自分类Dev

将字符串格式的数学方程式转换为Python3中可行的形式

来自分类Dev

Javascript将int视为字符串中间公式

来自分类Dev

MySQL将字符串视为整数

来自分类Dev

将字符串视为整数

来自分类Dev

python3:将字符串转换为类型

来自分类Dev

python3:如何将具有Unicode编码的字符串转换为字母字符串

来自分类Dev

确定line是python中的日期,字符串还是int

来自分类Dev

Python将“是”视为将字符串文字复数

来自分类Dev

在Python中,将int,float或unicode转换为字符串的单一紧凑方法是什么?

来自分类Dev

将转义字符视为单个字符,查找字符串中的字符数

来自分类Dev

PYTHON 如何将字符串转换为 int 或 float

来自分类Dev

Python3:将字典键从字符串更改为字符串元组

来自分类Dev

Python3如何将字符串添加到列表中的整数

来自分类Dev

Scrapy Spider 将 float/int 转换为字符串

来自分类Dev

F字符串和将函数输出写入python3中的文件

Related 相关文章

  1. 1

    将字符串视为十六进制Python

  2. 2

    将JoinColumn中的空字符串视为null

  3. 3

    将ASCII字符串转换为int / float / long

  4. 4

    从python3脚本中,如何将字符串传递到bash程序中?

  5. 5

    Python将字典视为字符串

  6. 6

    将字符串文字视为常量

  7. 7

    如何在Python3中将数字字符串转换为int列表

  8. 8

    Laravel将int或float数验证为字符串

  9. 9

    确定line是python中的日期,字符串还是int

  10. 10

    ValueError:无法在python 3中将字符串转换为float:''

  11. 11

    将实例“ count”合并到加入字符串的列表中(Python3)

  12. 12

    如何使用正则表达式在字符串中的“比较运算符”之后提取值,并在python中查找值是object / str还是int / float?

  13. 13

    我应该将翻译存储在核心数据中还是作为本地字符串存储?

  14. 14

    Python oursql将字符串变量视为char数组

  15. 15

    将字符串格式的数学方程式转换为Python3中可行的形式

  16. 16

    Javascript将int视为字符串中间公式

  17. 17

    MySQL将字符串视为整数

  18. 18

    将字符串视为整数

  19. 19

    python3:将字符串转换为类型

  20. 20

    python3:如何将具有Unicode编码的字符串转换为字母字符串

  21. 21

    确定line是python中的日期,字符串还是int

  22. 22

    Python将“是”视为将字符串文字复数

  23. 23

    在Python中,将int,float或unicode转换为字符串的单一紧凑方法是什么?

  24. 24

    将转义字符视为单个字符,查找字符串中的字符数

  25. 25

    PYTHON 如何将字符串转换为 int 或 float

  26. 26

    Python3:将字典键从字符串更改为字符串元组

  27. 27

    Python3如何将字符串添加到列表中的整数

  28. 28

    Scrapy Spider 将 float/int 转换为字符串

  29. 29

    F字符串和将函数输出写入python3中的文件

热门标签

归档