python使用建議與技巧分享(二)
這是一個(gè)系列文章,主要分享python的使用建議和技巧,每次分享3點(diǎn),希望你能有所收獲。
1 如何在if語(yǔ)句中檢測(cè)多個(gè)條件
不推薦方式
flag1 = 1flag2 = 0flag3 = 0if flag1 == 1 or flag2 == 1 or flag3 == 1:print ’ok’
推薦方式
flag1 = 1flag2 = 0flag3 = 0if 1 in (flag1, flag2, flag3):print ’ok’
可以看到,前一種方式重復(fù)代碼太多,不推薦。后一種寫法更簡(jiǎn)潔、易讀。另外,其實(shí)也可以通過(guò)any函數(shù)實(shí)現(xiàn),如下:
if any((flag1, flag2, flag3)):print ’ok’
2 如何從list中隨機(jī)采樣元素
import randomall_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 randomorder_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 timedef func1():time.sleep(2)begin_time = time.time()func1()passed_time = time.time() - begin_timeprint passed_time# 2.00099992752
推薦方式
import timefrom timeit import timeitdef 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)注好吧啦網(wǎng)其它相關(guān)文章!
相關(guān)文章:
1. Python結(jié)合百度語(yǔ)音識(shí)別實(shí)現(xiàn)實(shí)時(shí)翻譯軟件的實(shí)現(xiàn)2. python b站視頻下載的五種版本3. vue實(shí)現(xiàn)簡(jiǎn)易圖片左右旋轉(zhuǎn),上一張,下一張組件案例4. Python基于QQ郵箱實(shí)現(xiàn)SSL發(fā)送5. 測(cè)試模式 - XSL教程 - 56. 解決Java中的java.io.IOException: Broken pipe問(wèn)題7. JAVA抽象類及接口使用方法解析8. python如何寫個(gè)俄羅斯方塊9. 《CSS3實(shí)戰(zhàn)》筆記--漸變?cè)O(shè)計(jì)(一)10. 教你JS更簡(jiǎn)單的獲取表單中數(shù)據(jù)(formdata)
