四时宝库

程序员的知识宝库

Python基础找茬系列03--int()与eval()的羁绊

>>上一茬《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。

>>下一茬《python基础找茬系列04--那些傻傻分不清楚的time库函数》

发表评论:

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言
    友情链接