Python 函数用法之(eval函数)

  • 一 、eval函数的简介和语法:

eval()函数用来执行一个字符串表达式,并返回表达式的值。还可以把字符串转化为list、tuple、dict。eval函数的语法:

eval(expression[,globals[,locals]])
参数:

expression:表达式。

globals:变量作用域,如果被提供,必须是一个字典对象。

locals:变量作用域,如果被提供,可以说任何映射对象。

  • 二、 eval()函数使用实例:
    1 字符串转换成列表:
a="[1,2,3,4,5]"
b=eval(a)

# a是字符串类型数据,b是列表类型数据
2 字符串转换成字典 :

a="{"name":"xia","age":25}"
b=eval(a)

# a为字符串类型数据,b为字典类型数据
3 字符串转换为元组:

a="(1,2,3,4,5)"
eval(a) 

# a的数据结构是字符串 b的数据结构是元组
4 eval()返回表达式的值:

x=4
eval("3*x")
 
# 返回值为12
 
x=10
g={'a':4}
eval("a+1",g)
 
# 返回值为  5
 
x=10
b=20
c=30
g={'a':6,'b':8}
t={'b':100,'c':10}
eval('a+b+c',g,t)
 
# 返回值为116

三、与其它函数结合使用

1结合input函数使用。输入表达式,直接返回表达式的值,该代码最佳的实践是一行代码实现一个计算器。第二行相当于把引号剥去,输出表达式的值。

print(eval(input(1+2)))   #输出:3
print(eval(input("(a,b)")))   #输出:(a,b)

2与while语句、input函数结合使用。计算过程具有int函数、float函数功能,不断循环计算两个参数输入的加法值,相当于计算器输入两个值相加。

#eval()返回表达式的值,输入数字的话,有点等同于下下面int()的效果。
while True:
    x = eval(input('请输入数字:'))  #输入x值
    y = eval(input('请输入数字:'))  #输入y值
    z = x + y                       #相加
    print(z)                        #输出z的值

#是不是相同的效果。
while True:
    x = int(input('请输入数字:'))  #输入x值
    y = int(input('请输入数字:'))  #输入y值
    z = x + y                      #相加
    print(z)                       #输出z的值

3与input函数以及if条件语句、while语句一起结合使用。输入成绩数值判断成绩等级。

while True:
    FeiShu = eval(input('输入数值:'))
    if FeiShu >= 90:
        print('优秀')
    elif FeiShu >=80:
        print('良好')
    elif FeiShu >= 70:
        print('一般')
    elif FeiShu >= 60:
        print('及格')
    else:
        print('不及格')

说明:本文注重知识学习的积累并整理,部分内容来自其他博客。

  • 2
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值