【发布时间】:2021-07-21 02:49:48
【问题描述】:
我正在尝试在属于某个类的函数上使用 timeit()。代码如下: 有人可以帮我解决这个问题吗?提前致谢。
from random import randrange
import timeit
class Bubbles:
def __init__(self,nums):
self._nums = nums
def sorts(self):
for i in range(len(nums)):
for j in range(i,len(nums)-1-i):
if self._nums[j] > self._nums[j+1]:
self._nums[j],self._nums[j+1] = self._nums[j+1],self._nums[j]
return self._nums
if __name__ == '__main__':
nums = [randrange(-100,100) for i in range(100)] ###Small set of numbers
large_nums = [randrange(-100000,100000) for i in range(100000)] ##Large set of numbers
bubble_small = Bubbles(nums)###instance of Bubbles class for small set
bubble_large = Bubbles(large_nums)###instance of Bubbles class for small set
print(timeit.timeit("bubble_small.sorts()"))###Bubble sort small set of numbers
print(timeit.timeit("bubble_large.sorts()"))###Bubble sort large set of numbers
【问题讨论】:
-
嗨@PranavHosangadi 我试过了,但它显示`AttributeError:'Bubbles'对象没有属性'timeit'
-
那是因为您尝试了
"bubble_small.timeit()(您的旧代码有错字)。像您解决问题一样解决问题 -
@PranavHosangadi 谢谢对不起我的坏...哈哈哈
标签: python-3.x python-module timeit