基于python不同開根號的速度對比分析
我就廢話不多說了,大家還是直接看代碼吧~
import timeimport mathimport numpy as npdef timeit1(): s = time.time() for i in range(750000): z=i**.5 print ('Took %f seconds' % (time.time() - s))def timeit2(arg=math.sqrt): s = time.time() for i in range(750000): z=arg(i) print ('Took %f seconds' % (time.time() - s))def timeit3(arg=np.sqrt): s = time.time() for i in range(750000): z=arg(i) print ('Took %f seconds' % (time.time() - s))def timeit4(): s = time.time() for i in range(750000): z=math.pow(i,.5) print ('Took %f seconds' % (time.time() - s))timeit1()timeit2()timeit3()timeit4()
Took 0.152364 secondsTook 0.061580 secondsTook 1.016529 secondsTook 0.215403 seconds
補充:Python筆記-開根號的幾種方式
前言使用Python中的自帶庫math、自帶函數pow和自帶庫cmath來對數字進行開根號運算
方法一使用:math.sqrt(數字)
import mathn = int(input(’數字:’))x = math.sqrt(n)print(x)print(type(x)) #開根號后的類型為float方法二
使用:pow(數字,次方)
n = int(input(’數字:’))x = pow(n,0.5)print(x)print(type(x)) #開根號后的類型為float方法三
使用:cmath.sqrt(數字)
該方法多用于復數、負數的開方運算
import cmathn = int(input(’數字: ’))x = cmath.sqrt(n)print(x)print(type(x)) #類型為complex
以上為個人經驗,希望能給大家一個參考,也希望大家多多支持好吧啦網。如有錯誤或未考慮完全的地方,望不吝賜教。
相關文章: