表达式表示某些内容,如数字,字符串或类的实例.任何价值都是表达!
任何做某事的都是一种陈述.对变量或函数调用的任何赋值都是一个语句.表达式中该语句中包含的任何值.
foo =“hello”是一个将foo赋给表达式“hello”的值的语句.由于代码“hello”是一个简单的表达式,意味着它不包含任何操作,实际上没有任何内容被评估,所以foo只被分配给“hello”.更复杂的表达式实际上会评估事物,例如添加数字使用单词表达似乎让事情变得更加混乱.表达式只是值,除了它们可以有加法或减法等操作.
eval将字符串计算为python表达式. Eval确实将表达式作为参数.但是,由于每个值都是表达式,所以没有什么特别之处.说“eval以一个值作为一个参数”说的完全相同,但听起来更简单. :d
eval(“2 2”)将字符串“2 2”传递给函数.该函数计算字符串中包含的表达式,该表达式为4.
The book by Zelle says eval() evaluates string as an expression, what does that exactly mean if string is already an expression?
任何字符串都是表达式,因为它表示一个值.但是,字符串中的内容对它作为表达式绝对没有影响.如果是一个值,它就是一个表达式.当它“被eval评估为表达式”时,字符串内的字符就像它们是python表达式一样被执行.