我很难使用 Python 的 timeit.Timer(stmt, setup_stmt) 中的 setup 语句。我感谢任何帮助我摆脱这个棘手问题的帮助:
所以我的片段看起来像这样:
def compare(string1, string2):
# compare 2 strings
if __name__ = '__main__':
str1 = "This string has \n several new lines \n in the middle"
str2 = "This string hasn't any new line, but a single quote ('), in the middle"
t = timeit.Timer('compare(p1, p2)', "from __main__ import compare; p1=%s, p2=%s" % (str1,str2))
我不知道如何在不改变它们在 setup 语句中的含义的情况下转义变量 str1、str2 中的元字符:
"from __main__ import compare; p1=%s, p2=%s" % (str1,str2)
我尝试了各种组合,但总是出现以下错误: SyntaxError: can't assign to literal
SyntaxError: EOL while sweeping single-quoted string
SyntaxError: invalid syntax