python中eval与int的区别浅析

yipeiwu_com6年前Python基础

python中eval和int的区别是什么?下面给大家介绍一下:

1.eval()函数

eval(<字符串>)能够以Python表达式的方式解析并执行字符串,并将返回结果输出。eval()函数将去掉字符串的两个引号,将其解释为一个变量。

作用:

a. 处理数字

单引号,双引号,eval()函数都将其解释为int类型;三引号则解释为str类型。

b.处理字符串类型的字符串

对于eval()括号中的的字符串(非数字),如果字符串带的是单引号或者是双引号都会引起NameError,这是因为eval()函数在处理字符串时会去掉其两个引号。正确应该使用一个单引号包含一个双引号组成的三引号来包含字符串。

2.int()函数

int()函数可以将一个数转化为整数

>>> int('12',16) 18

这里有两个地方要注意:

1)12要以字符串的形式进行输入,如果是带参数base的话

2)这里并不是将12转换为16进制的数,而是说12就是一个16进制的数,int()函数将其用十进制数表示,如下

>>> int('0xa',16) 10 >>> int('10',8) 8

Python中的eval方法接受一个字符串参数,并且把字符串里面的内容当成Python代码来执行;

eval的缺点是执行速度慢,并且会有安全风险

总结

以上就是python中eval和int的区别的详细内容,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对【听图阁-专注于Python设计】的支持。

相关文章

详解Python字典的操作

详解Python字典的操作

本篇介绍Python字典的常见操作。 修改字典元素,如图。 添加字典元素,如图。 删除字典元素del方法,如图。 删除字典元素clear方法,如图。 len(),keys(),...

Python使用Tkinter实现滚动抽奖器效果

Python使用Tkinter实现滚动抽奖器效果

年底,抽奖这个话题很多人都会讨论,都希望可以中奖。 接下来我就使用 Python 中的 Tkinter 模块来实现一个简单的滚动抽奖器。 一、Tkinter简介 Tkinter 是 Py...

Python采用socket模拟TCP通讯的实现方法

本文实例讲述了Python采用socket模拟TCP通讯的实现方法。分享给大家供大家参考。具体实现方法如下: 对于TCP server端的创建而言,分为如下几个步骤: 创建socket对...

python xml.etree.ElementTree遍历xml所有节点实例详解

python xml.etree.ElementTree遍历xml所有节点 XML文件内容: <students> <student name='刘备' s...

在Python中关于使用os模块遍历目录的实现方法

一、Python中os模块的常见的使用方法 os.listdir(path):遍历path的文件或者文件夹,返回一个列表 os.path.join(path1,path2,……,path...