python如何将字符串转换为数字?
对于整数,可使用内置的 int()
类型构造器,例如 int("144")==144
。 类似地,可使用 float()
转换为浮点数,例如 float("144")==144.0
。
默认情况下,这些操作会将数字按十进制来解读,因此 int("0144")==144
而 int("0x144")
会引发 ValueError
。 int(string,base)
接受第二个可选参数指定转换的基数,例如 int("0x144",16)==324
。 如果指定基数为 0,则按 Python 规则解读数字:前缀 "0o" 表示八进制,而 "0x" 表示十六进制。
如果你只是想将字符串转为数字,请不要使用内置函数 eval()
。 eval()
的速度会慢很多并且有安全风险:别人可能会传入具有你不想要的附带效果的 Python 表达式。 例如,别人可以传入 __import__("os").system("rm-rf$HOME")
这将删除你的家目录。
eval()
还具有将数字解读为 Python 表达式的效果,这样 eval("09")
将会导致语法错误,因为 Python 不允许十进制数的首位是 "0" ("0" 除外)。
以上是 python如何将字符串转换为数字? 的全部内容, 来源链接: utcz.com/z/520652.html