作为同为将数字类型转换函数的方式,int()函数与eval()函数作用相仿,有时候很容易分不清用哪个更合适。
所以来讲讲python中int()与eval()。
(1)int()函数
概念:可以将一个数转化为整数
列如
注意:
int最终结果以十进制为主
列如:
(0x意为十六进制)
十进制15对应 f
(2)eval()函数
概念:eval(<字符串>)能够以Python表达式的方式解析并执行字符串,并将返回结果输出。
eval()函数将去掉字符串的两个引号,将其解释为一个变量。
列如
注意:
1、单引号,双引号,eval()函数都将其解释为int类型;三引号则解释为str类型。
2、对于eval()括号中的的字符串(非数字),如果字符串带的是单引号或者是双引号都会引起NameError,这是因为eval()函数在处理字符串时会去掉其两个引号。正确应该使用一个单引号包含一个双引号组成的三引号来包含字符串。
因此智慧而输入数字会报错
总结:
Python中的eval方法接受一个字符串参数,并且把字符串里面的内容当成Python代码来执行;
eval的缺点是执行速度慢。
int情况差不多,执行较快。