Tôi muốn đo tốc độ thực hiện các đoạn mã sau:Timeit, NameError: tên chung chưa được xác định. Nhưng tôi đã không sử dụng một biến toàn cầu
def pe1():
l = []
for i in range(1000):
if i%3 == 0 or i%5 == 0:
l.append(i)
print sum(l)
tôi lưu trữ mã này dưới pe1m.py. Bây giờ tôi muốn kiểm tra tốc độ của tập tin với trình thông dịch python. Tôi đã làm:
import timeit
import pe1m
t = timeit.Timer(stmt = 'pe1m.pe1()')
t.timeit()
nhưng tôi nhận được:
File "<stdin>", line 1, in <module>
File "/usr/lib/python2.7/timeit.py", line 195, in timeit
timing = self.inner(it, self.timer)
File "<timeit-src>", line 6, in inner
NameError: global name 'pe1m' is not defined
Nhưng tôi không có bất kỳ biến toàn cầu.
Khi bạn đang nhập khẩu các mô-đun, có một tuyên bố: pe1m nhập khẩu đó, IMHO, là một lỗi đánh máy cho một số mô-đun khác. – hjpotter92
Có thể trùng lặp của [Bắt "tên chung" foo 'không được xác định "với thời gian của Python] (https://stackoverflow.com/questions/551797/getting-global-name-foo-is-not-defined-with-pythons -timeit) – sds