diff options
Diffstat (limited to 'Lib/timeit.py')
-rw-r--r-- | Lib/timeit.py | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/Lib/timeit.py b/Lib/timeit.py index 461c891070..1ae59e0ccc 100644 --- a/Lib/timeit.py +++ b/Lib/timeit.py @@ -127,7 +127,7 @@ class Timer: if isinstance(setup, str): setup = reindent(setup, 4) src = template % {'stmt': stmt, 'setup': setup} - elif hasattr(setup, '__call__'): + elif callable(setup): src = template % {'stmt': stmt, 'setup': '_setup()'} ns['_setup'] = setup else: @@ -136,13 +136,13 @@ class Timer: code = compile(src, dummy_src_name, "exec") exec(code, globals(), ns) self.inner = ns["inner"] - elif hasattr(stmt, '__call__'): + elif callable(stmt): self.src = None if isinstance(setup, str): _setup = setup def setup(): exec(_setup, globals(), ns) - elif not hasattr(setup, '__call__'): + elif not callable(setup): raise ValueError("setup is neither a string nor callable") self.inner = _template_func(setup, stmt) else: |