【小白从小学Python、C、Java】【Python-计算机等级考试二级】【Python的str数据类型转换为int】【实现函数eval()与int()的区别】

知识精讲
1.Python是动态类型的语言(也称为弱类型语言),不需要先声明变量的类型,但有时仍然需要用到类型转换,eval()函数就是Python常用的类型转换函数之一。
2.eval()用于计算在字符串中的有效Python表达式,并返回一个对象。
3.eval()函数和int()函数从字符串转换到数字类型的区别主要在于int()函数具有float类型数据转换成int类型数据和将不同进制的数转化为十进制数的功能,而eval()函数则不具有,并且eval()函数要求参数必须为字符串。但是如果需要将一个字符串形式的表达式进行计算,则会优先考虑eval()函数。
3.1 int()函数将float类型数据转换成int类型数据举例如下:
>>> int(4.7) # 这里将float类型数据4.7转换为int类型数据4,直接舍去小数部分
结果为:4 
3.2 int()函数将不同进制的数转化为十进制数举例如下:
>>> int("12",16) # 这里将字符串"12"由十进制数12转换为十六进制数18
结果为:18 
3.3 eval()函数将一个字符串形式的表达式进行计算
>>> eval("2*2") # 这里将去掉双引号的表达式进行计算,将得出运算结果4
结果为:4
 

问题解析
这道题给出的表达式用到了两个函数,即type()和eval()两个函数。其中,type()函数用于返回括号内对象的类型;eval()函数用于计算在字符串中的有效Python表达式,并返回一个对象。由表达式可知,首先运行函数eval()的内容,返回45 + 1的计算结果,即为46,然后再用type()函数返回46的类型,即整型int。
 

欢迎大家转发,一起传播知识和正能量,帮助到更多人。期待大家提出宝贵改进建议,互相交流,收获更大。辛苦大家转发时注明出处(也是咱们公益编程交流群的入口网址),刘经纬老师共享知识相关文件下载地址为:http://liujingwei.cn
 

答案和程序运行结果
正确答案是D
程序和运行结果:

温馨期待
期待大家提出宝贵建议,互相交流,收获更大

猜你喜欢

转载自blog.csdn.net/liujingwei8610/article/details/120916645
今日推荐