python中eval函数的用法详解

Python中eval的用法:Python eval()函数的功能:将字符串str当成有效的表达式来求值并返回计算结果。语法:eval(source[,globals[,locals]]) -> value 参数:source:一个Python表达式或函数compile()返回的代码对象。blobals:可选。必须是dictionary locals:可选。任意map对象 如果提供了globals参数,那么...
python中eval函数的用法详解
Python中eval的用法:
Python eval()函数的功能:将字符串str当成有效的表达式来求值并返回计算结果。
语法:
eval(source[,globals[,locals]]) -> value
参数:
source:一个Python表达式或函数compile()返回的代码对象。
blobals:可选。必须是dictionary
locals:可选。任意map对象
如果提供了globals参数,那么它必须是dictionary类型;如果提供了locals参数,那么它可以是任意的map对象。
Python的全局名字空间存储在一个叫globals()的dict对象中;局部名字空间存储在一个叫locals()的dict对象中。我们可以用print(locals())来查看该函数体内的所有变量名和变量值。
x = 1
y = 1
num = eval("x+y")
print('num',num)
def g():
x = 2
y = 2
num1 = eval("x+y")
print('num1',num1)
num2 =eval('x+y',globals())
print('num2',num2)
num3 = eval("x+y",globals(),locals())
print('num3',num3)
g()
num2
num1 4
num2 2
num3 4
解析:num2因为有globals所以是全局变量,执行后结果为4;num3既有globals又有locals,仅在此情况下,优先采用locals的值,故计算结果是2。
2023-03-20
可以把list,tuple,dict和string相互转化。

1、字符串转换成列表

>>>a = "[[1,2], [3,4], [5,6], [7,8], [9,0]]"

>>>type(a)

>>> b = eval(a)

>>> print b[[1, 2], [3, 4], [5, 6], [7, 8], [9, 0]]

>>> type(b)

2、字符串转换成字典

>>> a = "{1: 'a', 2: 'b'}"

>>> type(a)

>>> b = eval(a)

>>> print b{1: 'a', 2: 'b'}

>>> type(b)

3、字符串转换成元组

>>> a = "([1,2], [3,4], [5,6], [7,8], (9,0))"

>>> type(a)

>>> b = eval(a)

>>> print b([1, 2], [3, 4], [5, 6], [7, 8], (9, 0))

>>> type(b)

4、eval()函数传进去的参数必须是字符串或者是对象

示例1:

>>>a=10;

>>>print(eval("a+1"))

>>>执行结果: 11

示例2:

>>>a=10;

>>>g={'a':4}

>>>print(eval("a+1",g))

>>>执行结果:5

示例3:

>>>a=10

>>>b=20

>>>c=30

>>>g={'a':6,'b':8}

>>>t={'b':100,'c':10}

>>>print(eval('a+b+c',g,t))

>>>执行结果:116  (a=6, b=100, c=10)

5、eval函数,eval去除引号后会检查到它是不是可计算的,如果可计算会将计算的结果打印出来,如果不可计算直接返回结果

示例1:不可计算》》》直接输出结果

>>>s='["a","b","c"]'

>>>print(eval(s))

>>>执行结果: ['a', 'b', 'c']

示例2:表达式可计算》》》计算之后输出结果

>>>s='abs(-10)'  

>>>print(eval(s))

>>>输出结果:10 

5、eval()函数,功能是将string变成算术表达式来执行

示例1:

>>>eval("1+2")

>>>执行结果: 3

示例2:

>>> eval("print(\"hello, world\")")

>>>输出结果:hello, world2022-07-24
mengvlog 阅读 7 次 更新于 2025-07-20 22:05:21 我来答关注问题0
  •  翡希信息咨询 python中eval的用法

    Python中eval的用法:一、基本用法 eval是Python内置的一个函数,用于执行一个字符串表达式并返回结果。 它可以将字符串作为代码进行解析和执行,通常用于动态计算表达式的值。 表达式必须是合法的Python表达式,否则会引发SyntaxError异常。二、动态执行变量表达式 eval除了基本的数学运算,还可以用于动态执行变量...

  •  文暄生活科普 python语言中,eval函数的作用是_________。

    Python语言中,eval函数的作用是计算字符串中的表达式并返回结果。具体解释如下:基本功能:eval函数是Python的一个内置函数,用于将字符串作为Python代码进行解析和执行。这意味着你可以使用eval函数来计算由字符串表示的表达式,并返回计算的结果。具体应用:当你在字符串中提供数学表达式时,eval会计算该表达...

  •  翡希信息咨询 python中eval()函数的作用是什么?

    Python中eval函数的作用是执行一个字符串表达式,并返回表达式的结果。具体来说:执行字符串表达式:eval函数能够计算并返回字符串中的Python表达式的值。这意味着可以通过该函数动态地执行代码,而无需在代码中硬编码具体的计算或逻辑。动态计算:eval在动态计算和脚本语言中非常有用,可以根据用户的输入或其...

  •  翡希信息咨询 int和eval的区别

    int和eval在Python中是两个完全不同的内置函数,主要区别如下:功能与用途:int:是一个类型转换函数,用于将浮点数、字符串等转换为整数。例如,int将返回4,int将返回5。eval:用于执行字符串表示的Python表达式,并返回表达式的值。例如,eval将返回5。安全性:int:在安全性方面较为可靠,因为它只会...

  •  翡希信息咨询 eval()函数的作用是什么

    eval是一个内置函数,其主要作用是将字符串形式的表达式作为Python代码来执行。这意味着通过eval,我们可以执行动态生成的代码或者字符串形式的数学表达式。二、应用场景 动态代码执行:eval允许运行存储在字符串中的Python代码,这在需要根据用户输入动态生成和执行代码时非常有用。数学计算:eval经常用于执行...

檬味博客在线解答立即免费咨询

报错相关话题

Copyright © 2023 WWW.MENGVLOG.COM - 檬味博客
返回顶部