>>上一茬《python基础找茬系列02--'=='与'is'的区别,别傻傻分不清楚》
一、描述
1、int()函数
int()函数用于将一个字符串或数字转换为整型。
2、eval()函数
eval()函数用来执行一个字符串表达式,并返回表达式的值。
二、语法
1、int()函数
语法
以下是 int() 方法的语法:
int(x, base=10)
参数
- x -- 字符串或数字。
- base -- 进制数,默认十进制。
返回值
- 返回整型数据(十进制)
2、eval()函数
语法
以下是 eval() 方法的语法:
eval(expression[, globals[, locals]])
参数
- expression -- 表达式。
- globals -- 变量作用域,全局命名空间,如果被提供,则必须是一个字典对象。
- locals -- 变量作用域,局部命名空间,如果被提供,可以是任何映射对象。
返回值
- 返回表达式计算结果。
三、实例对比
1、int()函数
>>>int() # 不传入参数时,得到结果0 0 >>> int(3) 3 >>> int(3.6) 3 >>> int('12',16) # 如果是带参数base的话,12要以字符串的形式进行输入,12 为 16进制 18 >>> int('0xa',16) 10 >>> int('10',8) 8
2、eval()函数
>>>x = 7 >>> eval( '3 * x' ) 21 >>> eval('pow(2,2)') 4 >>> eval('2 + 2') 4 >>> n=81 >>> eval("n + 4") 85
四、总结
1、eval()第一个参数must be a string, bytes or code object,会把比如'2+2'作为表达式求值输出4,而int()调用int('2+2')会报错;
2、int支持不同进制转换为10进制,eval()不支持;
3、针对小数字符串(比如'3.2'),int()调用失败,eval输出3.2,类型为float。