what is the meaning of eval() in x=eval(input(“hello”))?
x=eval(input("hello"))的意思是什么,它不应该是eval()而应该是int之类的吗?我认为x是一个变量,它属于某个确定其类型的类,eval是否包括所有已知的类,如int float complex…?
- 正如文档所说,eval对参数的评估就像对python代码一样。它可以是任何有效的python表达式。它可以是一个函数。
- 搜索保护:"python eval"-第一个点击是docs.python.org/2/library/functions.html eval,它表示"表达式参数被解析和计算为python表达式…."。
- (而且,你要么运气好要么选择了一个有趣的把手…)
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命令。不要使用它,除非你知道你正在做的(即使如此,它导致了严重的安全获得)。
- eval()evaluates表达。是一个错误,因为一eval("a = 1")分配是不安的表达。
- 事实上,固定。