Python eval()函数使用
W_chuanqi 人气:0eval()函数
eval() 函数用来执行一个字符串表达式,并返回表达式的值。
语法
eval(expression[, globals[, locals]])
expression – 表达式。
globals – 变量作用域,全局命名空间,如果被提供,则必须是一个字典对象。
locals–变量作用域,局部命名空间,如果被提供,可以是任何映射对象。返回值:返回表达式计算结果。
实例
我们在从键盘输入数据时,Python接收的是字符串类型,这时我们可以使用eval()函数,将输入的数据进行还原
实例1
n = input() m = eval(input()) # type()函数可以用来检测数据类型 print(type(n)) print(type(m)) #利用eval()将字符串类型转为整形 print(type(eval(n)))
输出结果:
使用eval()函数,将字符串还原为数字类型,和int()函数的作用类似
实例2
# 输入[1,2,3,4] m = input() # 得到一个字符串 n = eval(input()) # 得到一个列表 print(type(m)) print(type(n)) print(type(n[0]))
输出结果
将输入的字符串转为对应的数据类型,列表、元组等数据类型都可以使用这种方式输入
实例3
# 表达式 s1 = '3*7' s2 = 'pow(2,3)' n = eval(s1) m = eval(s2) print(n, m)
输出结果:
对表达式的结果进行计算,返回计算后的值
附:使用例子
举一个代码随想录里一个解答的例子:
second_num = 1 item = + first_num = 2 int(eval(f'{second_num} {item} {first_num}')) # 等价于本1 + 2
其中,格式化字符串常量(formatted string literals)是 Python 3.6 新引入的一种字符串格式化方法,主要目的是使格式化字符串的操作更加简便。
f-string在形式上是以 f 或者 F 修饰符引领的字符串(f’xxx’ 或 F’xxx’),以大括号 {} 标明被替代的字段。
另一个例子:
# 创建 my_dict = {'name':'Hider', 'age':'100'} print(f"My name is {my_dict['name']}, I'm {my_dict['age']}.") # My name is Hider, I'm 100.
总结
加载全部内容