关于python:x = eval(input(“hello”))中eval()的含义是什么?

what is the meaning of eval() in x=eval(input(“hello”))?

本问题已经有最佳答案,请猛点这里访问。

x=eval(input("hello"))的意思是什么,它不应该是eval()而应该是int之类的吗?我认为x是一个变量,它属于某个确定其类型的类,eval是否包括所有已知的类,如int float complex…?


eval说,像文档的位置参数,如果它是evaluates Python代码。它可以是任何一个有效的Python中不表达。它可以是一个函数,a类,a值,A环,一些恶意的……

拇指规则:除非没有其他的选择,不要使用它。如果没有其他的选择,不要使用它无论如何。


他们想eval()内容由用户在input()型。因此,如果用户x+1x等于1型和2个在输出,它会2(湖下面)。在提取从文档:

The expression argument is parsed and evaluated as a Python expression (technically speaking, a condition list) using the globals and locals dictionaries as global and local namespace.

1
2
3
>>> x = 1
>>> print eval('x+1')
2

它可以是危险的,因为用户想要什么样的CAN型嘿,……一些Unix命令。不要使用它,除非你知道你正在做的(即使如此,它导致了严重的安全获得)。