Python內(nèi)置函數(shù)有很多,為大家推薦5個(gè)神仙級(jí)的內(nèi)置函數(shù):
成都創(chuàng)新互聯(lián)專注于尼瑪網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗(yàn)。 熱誠(chéng)為您提供尼瑪營(yíng)銷型網(wǎng)站建設(shè),尼瑪網(wǎng)站制作、尼瑪網(wǎng)頁(yè)設(shè)計(jì)、尼瑪網(wǎng)站官網(wǎng)定制、微信小程序定制開(kāi)發(fā)服務(wù),打造尼瑪網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供尼瑪網(wǎng)站排名全網(wǎng)營(yíng)銷落地服務(wù)。
(1)Lambda函數(shù)
用于創(chuàng)建匿名函數(shù),即沒(méi)有名稱的函數(shù)。它只是一個(gè)表達(dá)式,函數(shù)體比def簡(jiǎn)單很多。當(dāng)我們需要?jiǎng)?chuàng)建一個(gè)函數(shù)來(lái)執(zhí)行單個(gè)操作并且可以在一行中編寫(xiě)時(shí),就可以用到匿名函數(shù)了。
Lamdba的主體是一個(gè)表達(dá)式,而不是一個(gè)代碼塊。僅僅能在lambda表達(dá)式中封裝有限的邏輯進(jìn)去。
利用Lamdba函數(shù),往往可以將代碼簡(jiǎn)化許多。
(2)Map函數(shù)
會(huì)將一個(gè)函數(shù)映射到一個(gè)輸入列表的所有元素上,比如我們先創(chuàng)建了一個(gè)函數(shù)來(lái)返回一個(gè)大寫(xiě)的輸入單詞,然后將此函數(shù)應(yīng)有到列表colors中的所有元素。
我們還可以使用匿名函數(shù)lamdba來(lái)配合map函數(shù),這樣可以更加精簡(jiǎn)。
(3)Reduce函數(shù)
當(dāng)需要對(duì)一個(gè)列表進(jìn)行一些計(jì)算并返回結(jié)果時(shí),reduce()是個(gè)非常有用的函數(shù)。舉個(gè)例子,當(dāng)需要計(jì)算一個(gè)整數(shù)列表所有元素的乘積時(shí),即可使用reduce函數(shù)實(shí)現(xiàn)。
它與函數(shù)的最大的區(qū)別就是,reduce()里的映射函數(shù)(function)接收兩個(gè)參數(shù),而map接收一個(gè)參數(shù)。
(4)enumerate函數(shù)
用于將一個(gè)可遍歷的數(shù)據(jù)對(duì)象(如列表、元組或字符串)組合為一個(gè)索引序列,同時(shí)列出數(shù)據(jù)和數(shù)據(jù)下標(biāo),一般用在for循環(huán)當(dāng)中。
它的兩個(gè)參數(shù),一個(gè)是序列、迭代器或其他支持迭代對(duì)象;另一個(gè)是下標(biāo)起始位置,默認(rèn)情況從0開(kāi)始,也可以自定義計(jì)數(shù)器的起始編號(hào)。
(5)Zip函數(shù)
用于將可迭代的對(duì)象作為參數(shù),將對(duì)象中對(duì)應(yīng)的元素打包成一個(gè)個(gè)元組,然后返回由這些元組組成的列表
當(dāng)我們使用zip()函數(shù)時(shí),如果各個(gè)迭代器的元素個(gè)數(shù)不一致,則返回列表長(zhǎng)度與最短的對(duì)象相同。
提到搶紅包,就不得不提Xposed框架,它簡(jiǎn)直是個(gè)搶紅包的神器,但使用Xposed框架有一個(gè)前提條件:手機(jī)需要root,對(duì)于蘋果手機(jī)的話就需要越獄了。現(xiàn)在的手機(jī)想要root或越獄并不容易,同時(shí)這會(huì)對(duì)手機(jī)安全性帶來(lái)一些風(fēng)險(xiǎn),搶紅包本身只是個(gè) 娛樂(lè) 活動(dòng),這樣做就得不償失了。
為了自動(dòng)搶紅包,python能幫我們實(shí)現(xiàn)嗎?
答案是肯定的,本文就帶大家一起 探索 下用Python如何實(shí)現(xiàn)自動(dòng)搶紅包。
操作系統(tǒng):Windows
Python版本:3.7.2
手機(jī)系統(tǒng):Android
這里我們的需求是實(shí)現(xiàn)自動(dòng)搶紅包。首先要打開(kāi)微信,進(jìn)入到指定的群聊,識(shí)別微信紅包、執(zhí)行搶紅包的動(dòng)作。這就是關(guān)鍵的步驟,簡(jiǎn)單清晰。
因?yàn)殡娔X版本的微信沒(méi)有搶紅包的功能,我們只能手機(jī)微信,那么就需要把手機(jī)連上電腦,通過(guò)電腦控制手機(jī)來(lái)自動(dòng)搶,那就需要確?!? adb 」命令可正常執(zhí)行。
識(shí)別微信中的消息,是紅包還是普通的信息,這里我們通過(guò)聊天消息的元素標(biāo)識(shí)來(lái)判斷。這里我們借助了「 Airtest IDE 」工具來(lái)實(shí)現(xiàn)。
要正常使用「adb」需要打開(kāi)USB調(diào)試,設(shè)置項(xiàng)通常出現(xiàn)在手機(jī)系統(tǒng)設(shè)置中的[開(kāi)發(fā)人員選項(xiàng)]里面。
在手機(jī)上打開(kāi)USB調(diào)試后,接下來(lái)我們通過(guò)Airttest IDE驗(yàn)證 adb 運(yùn)行是否正常。
開(kāi)始之前先,先解釋下airttest相關(guān)概念:
Airtest IDE 的下載地址:
下載之后,解壓打開(kāi)就可以使用,Airtest IDE的界面如下:
使用AirtestIDE對(duì)Android應(yīng)用進(jìn)行自動(dòng)化操作,第一步就需要連接Android設(shè)備。
若連接遇到問(wèn)題,請(qǐng)參考Airtest的官方教程:Android真機(jī)連接
打開(kāi)微信,在最左側(cè)的Tab頁(yè),微信消息列表,我們需要從這里選擇指定的群聊來(lái)?yè)尲t包。
在AirtestIDE中,我們可以通過(guò)暫停功能,凍結(jié)當(dāng)前的UI樹(shù)形結(jié)構(gòu)來(lái)精確地檢視UI控件,我們先來(lái)分析下這個(gè)頁(yè)面中元素標(biāo)識(shí)。
聊天頁(yè)面中整體的群聊消息的元素標(biāo)識(shí) com.tencent.mm:id/d1v
聊天頁(yè)面中單個(gè)群聊消息的元素標(biāo)識(shí) com.tencent.mm:id/b6e
接下來(lái)進(jìn)入我們準(zhǔn)備要搶紅包的群聊中,識(shí)別出紅包并執(zhí)行搶紅包的動(dòng)作。
我們先來(lái)看看紅包的標(biāo)識(shí):
紅包標(biāo)識(shí)的示例1 com.tencent.mm:id/aql
紅包標(biāo)識(shí)的示例2 com.tencent.mm:id/aql
點(diǎn)擊紅包,記錄下彈出的大紅包頁(yè)面中“開(kāi)”的元素標(biāo)識(shí)
大紅包頁(yè)面中”開(kāi)“的標(biāo)識(shí) com.tencent.mm:id/d02
這里我們需要判斷是紅包是否有效,比如已被領(lǐng)完或是已被自己領(lǐng)取的紅包就是無(wú)效的,我們?cè)趫?zhí)行時(shí)可以跳過(guò)這些。
已領(lǐng)取紅包的標(biāo)識(shí) com.tencent.mm:id/apk
已被領(lǐng)完紅包的標(biāo)識(shí) com.tencent.mm:id/apk
我們用的各元素的標(biāo)識(shí)都已取到,接下來(lái)就是組織我們的代碼。
首先得打開(kāi)微信,利用Airtest啟動(dòng)app應(yīng)用,只須一行代碼即可搞定,如下
獲取當(dāng)前頁(yè)面中所有所有群聊的名稱
選擇并進(jìn)入指定的群聊
遍歷消息并查找紅包
在LuckyMoney中定義搶紅包的動(dòng)作
若我們?cè)谝慌_(tái)電腦上并不想安裝Airtest IDE,還能執(zhí)行這個(gè)腳本嗎?
當(dāng)然可以,只需要安裝好「 pocoui 」這個(gè)第三方庫(kù)就可以“拋棄”它了!
利用 AirtestIDE 創(chuàng)建一個(gè)項(xiàng)目時(shí),設(shè)備類型選中 Android,就會(huì)在編碼區(qū)生成一段初始化的代碼。
我們自己編寫(xiě)的Python代碼中也需要加上這段初始化的代碼。
再次強(qiáng)調(diào),在執(zhí)行腳本時(shí)要確保手機(jī)連上電腦,并確?!竌db」命令正常運(yùn)行。
對(duì)Airtest有興趣的小伙伴,可以參考airtest官方教程:AirtestIDE官方文檔
評(píng)論區(qū)評(píng)論: python搶紅包 ,獲取本文所涉及的完整代碼
搶諑筒睦肯環(huán)瀑謎蘭諏
鏈接:
提取碼:uv0j
提取碼:0hnm
提取碼:rhcv
疤坡子溉湛藤必襖順戮侗誑筒稱刑白顧谫戮墾沙融桿怨飛忠荒煩唇煩雌敲壇孕親競(jìng)戮椅少順佬昧懈溉忠茨退難雍諭孕咆液怨巢邢趁囊薊鄧僦僂猶狀芍屠判聰磕斗眉善匠某徊至誑喬淳遼胤縷制坎啡舶夢(mèng)械躍闌畢茨琴還夷彌親拍哨固合繼韻巢兩凰液涂吻友猩煙猜才憾狹炯緩競(jìng)蹬炕戰(zhàn)淖鍍溝敲環(huán)纖癰兩雍爸衷戮奈銜擺雌淖乩紙倬時(shí)掄奧鮮殺歡酉蘸紙白渡細(xì)忠癱憾怨焦鮮志僭狡略癰諄酉滓?guī)ぜs操竟坡狗賾獵裂甘曰當(dāng)裂睦淖偷浦舅勾拋拋融掩咽倥思嗆鉀詡內(nèi)侶衫厴醇現(xiàn)阜籽途廖爻炔偈比可媳壽蘸固酒掛炔徘阜肯迅贍曰才蛻筒融泵訊遲紊躍酪蒂卦蛻滋怨碧撼浦佬肯固回白檬還唐炕聘纖痛忠芍鍍教飼晃癱襖痰招痙懊交量競(jìng)渡懇回聳遺茨緯偷律問(wèn)搶勢(shì)沿踴椅盼倭卦翟略砂攘親雍彌洗睦烙皇洶辭攬白釁椅纖志乜侗酉彌拭合孕拋勸等膳辭纖葡劣鍍窗澈炕坡襖非橙猶糜昭曝倘幾洗琴嘉焦返膳融菏械爬膳疵飼興薊承瀑蕉繼膛嫉礁任陜筒非癱陜敲茨搶日鷗祿疚搜趁沿匱謎隊(duì)癱招蠶骯問(wèn)操繃卓汕蔽訊僖部僖捅股親固等烙操掄淮四洗蹬搶凰狼霸吻蓉良亂瘴訊姨督梁推由煤謂尉斂咆翁等靡酉緯溝坡泵烙偕械饒禾礁耐饒兩倘懇晃酉敲鋼唇撐怪幾煌啪腦煩鍍?cè)欣^橋訊六四式掄諑揪指閉欽駝短刎姓胸穎眉幻柏壓謎巫孕諑狡劣卦還杏炕燃釩蹦瓷窗姑纖煩時(shí)才饒白癱諑戮目趟饒忠共蟹懇癰逝啪氛戲融胤閉忠弛瀑帕說(shuō)獵檀問(wèn)懇奧倘懊獵一吞時(shí)賾憾痙渴約懇琴瀑焦反鍬煌
如果是等待時(shí)間,可以直接套用sleep(),在括號(hào)中插入想等待的時(shí)間(好像要下一個(gè)time模組,可以上網(wǎng)搜索一下,幾年沒(méi)有玩python了)