eval(<字符串>)函数时 Python 语言中一个十分重要的函数,它能够以 Pyhton 表达式的方式解析并执行字符串,并将返回结果输出。例如:
>>> x = 1
>>> eval("x + 1")
2
>>> eval("1.1 + 2.2")
3.3000000000000003
>>>
简单说,eval(<字符串>)的作用是将输入的字符串变成 Python 语句,并执行该语句。使用 eval() 函数处理字符串需要注意合理使用。例如,如果直接输入字符串"hello"
,eval() 函数将去掉两个引号,将其解释为一个变量,由于之前没有定义过hello
变量,解释器会报错。当输入字符串"'hello'"
时,eval() 函数去掉外部双引号后,内部还有一个引号,则'hello'
则被解释为字符串。
>>> eval("hello")
Traceback (most recent call last):
File "<pyshell#3>", line 1, in <module>
eval("hello")
File "<string>", line 1, in <module>
NameError: name 'hello' is not defined
>>> eval("'hello'")
'hello'
>>>
如果希望输入一个数字(小数或者负数),并用这个程序对这个数字进行计算,可以采用 eval(input(<输入提示字符串>))的组合,例如:
>>> value = eval(input("请输入要计算的数值:"))
请输入要计算的数值:1024.456
>>> print(value * 2)
2048.912
>>>