python中eval与int的区别浅析

yipeiwu_com7年前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实现DDos攻击实例详解

Python实现DDos攻击实例详解

SYN 泛洪攻击 SYN泛洪攻击是一种比较常用的Dos方式之一。通过发送大量伪造的 TCP 连接请求,使被攻击主机资源耗尽(通常是 CPU 满负荷或内存不足)的攻击方式 我们都知道建立...

Python向MySQL批量插数据的实例讲解

Python向MySQL批量插数据的实例讲解

背景:最近测试web项目需要多条测试数据,sql中嫌要写多条,就看了看python如何向MySQL批量插数据(pymysql库) 1、向MySQL批量插数据 import pymys...

python实现的简单文本类游戏实例

本文实例讲述了python实现的简单文本类游戏实现方法。分享给大家供大家参考。具体实现方法如下: ##########################################...

python使用tornado实现登录和登出

本文实例为大家分享了tornado实现登录和登出的具体代码,供大家参考,具体内容如下 main.py如下: import tornado.httpserver import torn...

Python调用系统底层API播放wav文件的方法

本文实例讲述了Python调用系统底层API播放wav文件的方法。分享给大家供大家参考,具体如下: 这里未使用其他库,只是使用 pywin32 调用系统底层 API 播放 wav 文件。...