def test_replace_with_constant(self):
# list => tuple
self.check_optimize('for x in [1, 2, 3]: pass',
'for x in (1, 2, 3): pass')
# set => frozenset
self.check_optimize('for x in {1, 2, 3}: pass',
ast.For(target=ast.Name(id='x', ctx=ast.Store()),
iter=ast.Constant(frozenset((1, 2, 3))),
body=[ast.Pass()],
orelse=[]))
# don't optimize if items are not constants
self.check_dont_optimize('for x in [1, x]: pass')
self.check_dont_optimize('for x in {1, x}: pass')
评论列表
文章目录