eval在python中的用法例子,eval 的用法,以及python中推导列表的案例

eval在python中的用法例子目录

eval在python中的用法例子

eval 的用法,以及python中推导列表的案例

python当中的eval()函数是起什么作业的

python中eval函数的用法详解

eval在python中的用法例子

    在Python中,`eval()`函数用于执行一个Python表达式,并返回表达式的结果。下面是一些使用`eval()`函数的例子:

    1. 计算数学表达式:

    ```python

    x = 2

    y = 3

    result = eval(x + y('Hello, World!')a) # 输出:10

    ```

eval 的用法,以及python中推导列表的案例

>>>a = [[1,2,3],[2,4,5],[1,2,3]]

>>>for i in range(len(a[0])): 第一种方法

... a[0][i],a[1][i],a[2][i] 此为tuple形式

(1, 2,1)

(2, 4,2)

(3, 5,3)

>>>for i in range(len(a[0])):

...print([a[0][i],a[1][i],a[2][i]]) 注意括号决定了输出的形式

[1, 2,1]

[2, 4,2]

[3, 5,3]

>>>eval("a[0]")

[1, 2,3]

>>>eval("a[0][0]")

1

>>>eval("a[0][0],a[1][0],a[2][0]")

(1, 2,1)

a =[[1,2,3],[2,4,5],[1,2,3]]第二种方法

>>>s = "" 定义一个 为s的字符串

>>>l = [] 定义一个为l 的列表

>>>for i in range(len(a[0])):i大循环是a[][]第二个括号里的值

... for j in range(len(a)):j是a[][]第一个括号里的值

... s += "a[%s][%s]," % (j,i) 输出的格式把前面的加上

... l.append(s) 三个为一组添加到 l 列表里

... s = "" s字符串重新置空,开始第二次循环

...

>>>l

第一次循环结果置空后第二次循环结果

[a[0][0],a[1][0],a[2][0],,a[0][1],a[1][1],a[2][1],,a[0][2],a[1][2],a[2][2],]

置空后第三次循环结果

>>>[eval(i) for i in l] 循环l里的三个元素 并输出结果

[(1,2, 1), (2, 4, 2), (3, 5, 3)]

I

python当中的eval()函数是起什么作业的

eval函数将字符串当成有效Python表达式来求值,并返回计算结果

例子

x=0

l='x+1'

print(eval(l))结果是1

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。

(随机推荐阅读本站500篇优秀文章点击前往:500篇优秀随机文章)
来源:本文由易搜IT培训资讯原创撰写,欢迎分享本文,转载请保留出处和链接!