python使用建議與技巧分享(二)
這是一個(gè)系列文章,主要分享python的使用建議和技巧,每次分享3點(diǎn),希望你能有所收獲。
1 如何在if語(yǔ)句中檢測(cè)多個(gè)條件
不推薦方式
flag1 = 1 flag2 = 0 flag3 = 0 if flag1 == 1 or flag2 == 1 or flag3 == 1: print 'ok'
推薦方式
flag1 = 1 flag2 = 0 flag3 = 0 if 1 in (flag1, flag2, flag3): print 'ok'
可以看到,前一種方式重復(fù)代碼太多,不推薦。后一種寫(xiě)法更簡(jiǎn)潔、易讀。另外,其實(shí)也可以通過(guò)any函數(shù)實(shí)現(xiàn),如下:
if any((flag1, flag2, flag3)): print 'ok'
2 如何從list中隨機(jī)采樣元素
import random all_data = [num for num in range(100)] sample_data = random.sample(all_data, 20) print sample_data # [71, 25, 58, 79, 70, 69, 93, 29, 11, 30, 40, 81, 12, 48, 91, 21, 83, 42, 38, 31]
這里是從100個(gè)元素中,隨機(jī)采樣20個(gè)元素。可以看到,借助random模塊的sample函數(shù)可以很輕易實(shí)現(xiàn)采樣功能。python的random模塊很有意思,大家感興趣可以看看,能實(shí)現(xiàn)很多有趣的功能。比如可以輕易實(shí)現(xiàn)“洗牌”功能:
import random order_list = range(10) print order_list # [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] random.shuffle(order_list) print order_list # [3, 5, 9, 0, 8, 7, 1, 2, 6, 4]
3 如何測(cè)試函數(shù)運(yùn)行時(shí)間
不推薦方式
import time def func1(): time.sleep(2) begin_time = time.time() func1() passed_time = time.time() - begin_time print passed_time # 2.00099992752
推薦方式
import time from timeit import timeit def func1(): time.sleep(2) print timeit(stmt="func1()", setup="from __main__ import func1", number=1) # 2.00122451254
借助python的timeit模塊,可以很輕易的測(cè)試出函數(shù)運(yùn)行時(shí)間。在不知道timeit模塊之前,我就是用前一種方式測(cè)試函數(shù)運(yùn)行時(shí)間的,別笑。
以上就是python使用建議與技巧分享(二)的詳細(xì)內(nèi)容,更多關(guān)于python建議與技巧的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
- python 中的9個(gè)實(shí)用技巧,助你提高開(kāi)發(fā)效率
- Python利用IPython提高開(kāi)發(fā)效率
- 教你用Type Hint提高Python程序開(kāi)發(fā)效率
- 詳解python算法常用技巧與內(nèi)置庫(kù)
- python Selenium 庫(kù)的使用技巧
- python 5個(gè)實(shí)用的技巧
- python 偷懶技巧——使用 keyboard 錄制鍵盤(pán)事件
- 超級(jí)實(shí)用的8個(gè)Python列表技巧
- python使用建議與技巧分享(一)
- 常用的10個(gè)Python實(shí)用小技巧
- Python爬蟲(chóng)防封ip的一些技巧
- python 提高開(kāi)發(fā)效率的5個(gè)小技巧
相關(guān)文章
Pygame游戲開(kāi)發(fā)之太空射擊實(shí)戰(zhàn)圖像精靈下篇
相信大多數(shù)8090后都玩過(guò)太空射擊游戲,在過(guò)去游戲不多的年代太空射擊自然屬于經(jīng)典好玩的一款了,今天我們來(lái)自己動(dòng)手實(shí)現(xiàn)它,在編寫(xiě)學(xué)習(xí)中回顧過(guò)往展望未來(lái),下面開(kāi)始入門(mén)篇2022-08-08Python 多線程共享變量的實(shí)現(xiàn)示例
這篇文章主要介紹了Python 多線程共享變量的實(shí)現(xiàn)示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-04-04Python光學(xué)仿真wxpython透鏡演示系統(tǒng)初始化與參數(shù)調(diào)節(jié)
這篇文章主要為大家介紹了Python光學(xué)仿真wxpython透鏡演示系統(tǒng)的初始化與參數(shù)調(diào)節(jié),同樣在學(xué)習(xí)wxpython透鏡演示系統(tǒng)的入門(mén)同學(xué)可以借鑒參考下,希望能夠有所幫助2021-10-10梳理總結(jié)Python開(kāi)發(fā)中需要摒棄的18個(gè)壞習(xí)慣
大家好,今天給大家分享 18 個(gè) Python 初學(xué)者常有的壞習(xí)慣,這些壞習(xí)慣不僅影響 Python 代碼的可讀性,而且 影響 Python 的運(yùn)行性能,摒棄這些壞習(xí)慣并以 Pythonic 的方式編寫(xiě)代碼,提高的不僅僅是你的代碼質(zhì)量,也給閱讀代碼的人留下好印象2022-01-01python基于pygame實(shí)現(xiàn)飛機(jī)大作戰(zhàn)小游戲
這篇文章主要為大家詳細(xì)介紹了python基于pygame實(shí)現(xiàn)飛機(jī)大作戰(zhàn)小游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-11-11