switch与if效率实例解析·5年以下编程经验必看【Python】
生活随笔
收集整理的這篇文章主要介紹了
switch与if效率实例解析·5年以下编程经验必看【Python】
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
絕大多數的程序員喜歡使用if判斷,但是真的效率高嗎?還是其它的,可能只會用if呢!我們今天就具體測一測,用事實說話,測試量100W:
本文采用的是【Python】語言進行測試,后續會有【C#】
switch效率測試代碼:
import random import timeit#模擬switch def switch(num):return {0 : 1,1 : 2,2 : 3,3 : 4,4 : 5,5 : 6,6 : 7,7 : 8,8 : 9,9 : 0}.get(num,None)#一百萬次 def testSwitch():count=1000000for x in range(count):ra=random.randint(0,10)switch(ra)start =timeit.default_timer() testSwitch() end = timeit.default_timer() print('耗時: %s Seconds'%(end-start))100W次swtich判斷,消耗時間1641ms
if效率測試代碼:
import random import timeit#一百萬次 def testSwitch():count = 1000000a = 1for x in range(count):ra = random.randint(0,10)if x == 0:a = 0elif x == 1: a = 1elif x == 2: a = 2elif x == 3: a = 3elif x == 4: a = 4elif x == 5: a = 5elif x == 6: a = 6elif x == 7: a = 7elif x == 8: a = 8else : a = 9start = timeit.default_timer() testSwitch() end = timeit.default_timer() print('耗時: %s Seconds' % (end - start))100W次if判斷,消耗時間1520ms
結論:
綜上實驗可得:
1、python是沒有提供switch開關判斷的,所以模擬出來的效果一般
2、python中沒的選,只能用if判斷,最多還有一個三元運算符
為真時的結果 if 判斷條件 else 為假時的結果(注意,沒有冒號)想測試的自己可以測試一下,意義不大。python本身就是消耗資源最大的編程語言。
總結
以上是生活随笔為你收集整理的switch与if效率实例解析·5年以下编程经验必看【Python】的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 计算某一段程序消耗的内存和时间【Java
- 下一篇: switch与if效率实例解析·5年以下