理解python中eval的输入格式

时间:2017-11-03 19:18:49

标签: python eval

+--------+
|[a,b,c] |
|[d,e]   |
|[f]     |
+--------+

str = "a b c"
eval(str) # throws error
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "<string>", line 1
a b c
  ^
SyntaxError: invalid syntax

两个条件之间有什么区别。为什么角色&#39;需要。 ?

1 个答案:

答案 0 :(得分:0)

eval("a = 5")以python代码的形式执行字符串的内容。例如,在执行eval("a = 5")后,变量a将保留值5

至于为什么eval("a b c")抛出错误而eval("'a b c'")没有抛出错误,Python中方法/类文档的通常惯例是使用多行字符串。因此,字符串是python中的有效语句。请注意,您仍应使用#进行单行注释。

def method_a(str):
    """
    This method does blah blah blah.
    input:
        <str> str   The string to be processed
    """
    if str is None:
        # avoid null errors.
        return ""
    else:
        return str