python eval()函数的使用

不知道大家如何,python中的eval()内置函数我几乎没怎么用到过,但是也是要了解一下的,下面给大家介绍一下我发现的几种用法,如果还有其他的用法希望大家能评论分享一下

1.传入python的几种数据类型的字符串,返回相应的数据类型对象

a = eval("123")
print("a is", type(a))

b = eval('["a",1,"b"]')
print("b is", type(b))

c = eval('{"a":1,"b":2}')
print("c is", type(c))

d = eval('("a",1,2,3)')
print("d is", type(d))

e = eval('{"a","b","c",1,2}')
print("e is", type(e))

结果:
结果1

注意:因为eval()函数本身就是根据字符串来做判断识别成其他的数据格式,所以不会把字符串识别成string类,传入无法识别的字符串反而会报错,

f = eval("hallo")
print("f is", type(f))

结果:
结果1错误类
2.进行一些python数据类型的运算(其实就是第一部分中的数据类型的数学运算)

# 数字类型的运算符都支持如(加减乘除,取余,地板除,次方)
a = eval("8//3")
print("a:", a)

# 列表支持的运算符都支持如(加)
b = eval('[0,1,2]+[3,4,"a"]')
print("b:", b)

# 集合支持的运算符都支持如(交,并,补)
c = eval('{1,2,3}&{3,4,5}')
print("c:", c)

# 元祖支持的运算符如(加)
d = eval('(1,2,3)+(1,2,3)')
print("d:", d)

结果:
在这里插入图片描述
3.执行一些定义过的或者自带的函数或者方法

# 执行python内置方法
eval('print("我要找富婆,不想努力了")')


# 执行自己定义过的方法
def print_xjc(name):
    print("{}你梦没做醒?,数据测完没".format(name))

eval('print_xjc("xjc")')

结果:
在这里插入图片描述

以上是我发现的eval()函数的用法,写了这么些,其实我还是没有发现在开发中能用上这个内置函数的地方,有人在生产中用到过吗,望告知场景啊

猜你喜欢

转载自blog.csdn.net/Jcggnice/article/details/108569341