当我们需要将一个可转换为数字的字符串转换成数字时,可以使用Python内置的 val()
函数。
val()
函数的作用是将一个字符串表示的数字转换为数字。如果字符串不能转换为数字或者不是数字的字符串,则会触发 ValueError
异常。
下面是 val()
函数的语法:
val(s)
其中,参数 s
是要被转换成数字的字符串。
val()
函数的使用方法如下:
my_string = '123'
my_num = val(my_string)
print(type(my_num), my_num)
以上代码中,我们将一个字符串 '123'
通过 val()
函数转换为数字,并打印出转换后的类型和值。运行结果为:
<class 'int'> 123
还有一种使用方式是,可以通过 try-except
语句来捕捉 ValueError
异常。代码如下所示:
my_string = 'abc'
try:
my_num = val(my_string)
print(type(my_num), my_num)
except ValueError as e:
print(e)
以上代码中,我们将一个非数字的字符串 'abc'
通过 val()
函数转换为数字,并使用 try-except
语句来捕捉可能产生的异常。运行结果为:
could not convert string to float: 'abc'
因为字符串 'abc'
无法被转换为数字,所以 val()
函数产生了一个 ValueError
异常,异常消息为 could not convert string to float: 'abc'
。
需要注意的是,val()
函数只能将一个字符串转换成数字。如果我们要将一个列表或者元组中的多个字符串转换成数字,需要使用循环遍历列表或者元组,逐一将其中的每个字符串使用 val()
函数转换为数字。