import timeit defFibonacci():
a, b =0,1
i =0while i <100:print(b)
a, b = b, a+b
i += 1result = timeit.timeit(Fibonacci, number=5)print(f"Fibonacci函数的运行时间为: {result}")` `
from line\_profiler
import LineProfilerdef Fibonacci():
a, b =0,1
i =0while i <100:print(b)
a, b = b, a+b
i += 1lp = LineProfiler() lp\_wrap = lp(Fibonacci)lp\_wrap()# 输出统计数据lp.print\_stats()` `
运行结果:
接下来就开始介绍提升 Python 代码性能的六个技巧:
1.使用内置函数和库
Python 的内置函数和库与我们常用的自定义函数、自定义数据类型相比,运行速度会显得非常快。这主要是因为内置数据类型的底层是使用 C 语言实现的,而 C 语言又是目前为止执行效率最高的高级语言,这是使用 Python 所无法比较的。而且 Python 的开发团队也对这些内置函数和库进行了良好的测试和优化。
示例代码:
my_list =[]word_list ="hello,world"for word in word_list:
my_list.append(word.upper())print(my_list)
# 在有序数组中,使用二分查找算法查找元素要比使用顺序查找算法效率更高``defsequential_search(nums,target):``
for num in nums:``
if num == target:``
return nums.index(num)``
return-1# 返回-1表示没有找到目标元素`` ``
nums =[1,8,10,11,22]``target =11``
print(sequential_search(nums, target))
更好的方法:
# 二分查找``def binary_search(nums,target):``
first,last =0,len(nums)-1# 定义数组的第一个元素下标和最后一个元素下标`` while first <= last:#左闭右闭区间``
mid_index =(first + last)//2#中间元素的下标值`` ``if nums[mid_index]< target:``
first = mid_index +1``
elif nums[mid_index]> target:``
last = mid_index -1``
else:``
return mid_index``
return-1`` ``
nums =[1,8,10,11,22]``target =11``
print(binary_search(nums, target))