欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

分享9個(gè)實(shí)用的Python技巧

本篇內(nèi)容介紹了“分享9個(gè)實(shí)用的Python技巧”的有關(guān)知識(shí),在實(shí)際案例的操作過程中,不少人都會(huì)遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!

成都創(chuàng)新互聯(lián)致力于網(wǎng)站建設(shè),網(wǎng)站制作設(shè)計(jì),營銷網(wǎng)頁按需定制設(shè)計(jì),成都外貿(mào)網(wǎng)站建設(shè)公司,企業(yè)網(wǎng)站建設(shè),小程序設(shè)計(jì),網(wǎng)站SEO優(yōu)化,網(wǎng)站設(shè)計(jì)制作案例豐富,是成都做網(wǎng)站公司和建站公司,歡迎咨詢。

清理字符串輸入

對(duì)用戶輸入進(jìn)行清理的問題幾乎適用于您編寫的所有程序。通常情況下,將字符轉(zhuǎn)換為小寫或大寫就足夠了,有時(shí)您可以使用Regex來完成這項(xiàng)工作,但對(duì)于復(fù)雜的情況來說,可能有更好的方法:

分享9個(gè)實(shí)用的Python技巧

在本例中,您可以看到空白字符“\n”和“\t”已被單個(gè)空格替換,而“\r”已被完全刪除。這是一個(gè)簡單的例子,但是我們可以更進(jìn)一步,使用unicodedata包和它的combining()函數(shù)來生成并進(jìn)行映射,從而生成更大的重新映射表,我們可以使用它來刪除字符串中的所有重音。

對(duì)迭代器進(jìn)行切片

如果您嘗試對(duì)一個(gè)迭代器進(jìn)行切片,您會(huì)得到一個(gè)TypeError,這說明生成器對(duì)象是不可下標(biāo)訪問的,但有一個(gè)簡單的解決方案可以解決這個(gè)問題:

分享9個(gè)實(shí)用的Python技巧

使用itertools.islice我們可以創(chuàng)建一個(gè)islice對(duì)象,它是一個(gè)會(huì)生成所需項(xiàng)的迭代器。需要注意的是,這將消耗slice開始之前的所有生成器項(xiàng),以及islice對(duì)象中的所有項(xiàng)。

跳過可迭代對(duì)象的開始部分

有時(shí)您必須處理那些以您不想要的可變數(shù)量的行(如注釋)開始的文件。itertools再次為這個(gè)問題提供了簡單的解決方案:

分享9個(gè)實(shí)用的Python技巧

這代碼段只生成初始注釋部分之后的行。如果我們只想在可迭代對(duì)象的開頭丟棄一些項(xiàng)目(本例中是一些行),并且不知道有多少個(gè)項(xiàng)目,那么這種方法是很有用的。

只帶有關(guān)鍵字參數(shù)(kwargs)的函數(shù)

在使用以下這樣的函數(shù)時(shí),創(chuàng)建只接受關(guān)鍵字參數(shù)的函數(shù)來提供(強(qiáng)制)更多的清晰性是很有幫助的:

分享9個(gè)實(shí)用的Python技巧

正如您所看到的,這可以通過在關(guān)鍵字參數(shù)之前放置單個(gè)*參數(shù)來輕松解決。如果我們把位置參數(shù)放在*參數(shù)之前,位置參數(shù)顯然也會(huì)存在。

創(chuàng)建支持with語句的對(duì)象

例如,我們都知道如何使用with語句來打開文件或獲取鎖,但是我們可以實(shí)現(xiàn)自己的with語句嗎?  當(dāng)然,我們可以使用__enter__和__exit__方法來實(shí)現(xiàn)上下文管理協(xié)議:

分享9個(gè)實(shí)用的Python技巧

這是在Python中實(shí)現(xiàn)上下文管理最常見的方法,但是還有更簡單的實(shí)現(xiàn)方法:

分享9個(gè)實(shí)用的Python技巧

上面的代碼片段使用contextmanager管理器裝飾器實(shí)現(xiàn)了內(nèi)容管理協(xié)議。在進(jìn)入with塊時(shí),tag函數(shù)(在yield之前)的第一部分會(huì)被執(zhí)行,然后該with塊被執(zhí)行,最后,tag函數(shù)的其余部分會(huì)被執(zhí)行。

使用__slots__節(jié)省內(nèi)存

如果您曾經(jīng)編寫過一個(gè)創(chuàng)建某個(gè)類的大量實(shí)例的程序,您可能會(huì)注意到您的程序會(huì)突然需要大量內(nèi)存。這是因?yàn)镻ython使用字典來表示類實(shí)例的屬性,這使得它的速度很快,但是內(nèi)存效率不高,這通常并不是一個(gè)問題。然而,如果它成為您的程序的一個(gè)問題時(shí),您可以嘗試使用__slots__:

分享9個(gè)實(shí)用的Python技巧

這里的情況是,當(dāng)我們定義了__slots__屬性時(shí),Python會(huì)使用小的固定大小的數(shù)組而不是字典來定義屬性,這大大減少了每個(gè)實(shí)例所需的內(nèi)存。使用__slots__也有一些缺點(diǎn)——我們不能聲明任何新的屬性,并且我們只能使用在__slots__上這些屬性。而且,帶有__slots__的類不能使用多重繼承。

限制CPU和內(nèi)存的使用

如果您不想優(yōu)化您的程序內(nèi)存或CPU使用,您只想把它限制在某個(gè)固定大小的內(nèi)存上,那么Python也有一個(gè)這樣的庫來做到這一點(diǎn):

分享9個(gè)實(shí)用的Python技巧

這里我們可以看到設(shè)置最大CPU運(yùn)行時(shí)間和最大內(nèi)存使用限制的兩個(gè)選項(xiàng)。對(duì)于CPU限制,我們首先獲取特定資源(RLIMIT_CPU)的軟限制和硬限制,然后使用參數(shù)指定的秒數(shù)和前面檢索到的硬限制來設(shè)置它。最后,我們注冊信號(hào),如果CPU時(shí)間超過限制,該信號(hào)會(huì)導(dǎo)致系統(tǒng)退出。對(duì)于內(nèi)存,我們再次檢索軟限制和硬限制,并使用帶有大小參數(shù)的setrlimit和檢索的硬限制來設(shè)置它。

控制什么可以導(dǎo)入,什么不可以導(dǎo)入

一些語言有非常明顯的導(dǎo)出成員(變量、方法、接口)的控制機(jī)制,例如Golang,其中只有以大寫字母開頭的成員會(huì)被導(dǎo)出。另一方面,在Python中,所有東西都可以被導(dǎo)出,除非我們使用__all__:

分享9個(gè)實(shí)用的Python技巧

根據(jù)上面的代碼片段,我們知道只有bar函數(shù)會(huì)被導(dǎo)出。同樣,我們可以讓__all__為空,這樣,當(dāng)我們從這個(gè)模塊導(dǎo)入的時(shí)候,任何東西都不會(huì)被導(dǎo)出,并且會(huì)導(dǎo)致AttributeError。

實(shí)現(xiàn)比較運(yùn)算符的簡單方式

考慮到目前已經(jīng)有相當(dāng)多的比較操作符——__lt__ 、__le__ 、 __gt__ 或  __ge___,因此,為一個(gè)類實(shí)現(xiàn)所有的比較操作符是相當(dāng)煩人的。但如果有更簡單的方法可以實(shí)現(xiàn)呢?functools.total_ordering就派上用場了:

分享9個(gè)實(shí)用的Python技巧

那么,這到底是怎么工作的呢?total_ordering裝飾器用于簡化實(shí)現(xiàn)類實(shí)例排序的過程。我們只需要定義__lt__和__eq__,它們是剩余操作的映射所需的最小值,裝飾器就會(huì)為我們填充空白。

“分享9個(gè)實(shí)用的Python技巧”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí)可以關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!

網(wǎng)站標(biāo)題:分享9個(gè)實(shí)用的Python技巧
轉(zhuǎn)載注明:http://aaarwkj.com/article22/ihhsjc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供電子商務(wù)網(wǎng)站制作、標(biāo)簽優(yōu)化、企業(yè)網(wǎng)站制作、動(dòng)態(tài)網(wǎng)站、搜索引擎優(yōu)化

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

搜索引擎優(yōu)化
一区不卡在线视频免费国产| av一级免费在线观看| 亚洲国产精品久久久精品| 国产熟女肥臀精品国产馆乱| 国产精品国产精品无卡区| 日韩一二卡在线观看视频| 91日韩国产中文字幕| 可以直接看内射的视频| 美女视频黄的日本的日进去了| 欧美亚洲精品在线观看| 欧美日韩久久久久久精品| 欧美一级特黄免费大片| 国产精品传媒在线视频| 久久五十路六十路熟妇中出| 中文字幕在线五月婷婷| 国产欧美日韩精品一区| 日本一区二区三区视频版| 人妻系列少妇人妻偷人| 欧美一区二区三区久久束缚| 精品欧美一区二区在线| av影片在线观看亚洲天堂| 91在线国产手机视频| 精品亚洲一区二区三区四区| 久久精品国产亚洲av麻豆网站 | 日本在线人妻中文字幕| 免费97久久人妻一区精品| 99精品人妻一区二区三区蜜桃| 果冻国产精品麻豆成人av| 偷怕自拍在线免费观看| 亚洲欧美日韩制服另类| 日本欧美国产一区二区| 日本免费精品人成视频| 婷婷激情亚洲综合综合久久| 中文字幕免费日本在线| 精品人妻一区二区三区| 婷婷综合伊人久久狠狠| 亚洲欧美午夜不卡视频| 色哟哟视频在线免费观看| 五月婷婷丁香在线观看| 99精品国产一区二区青青性色| 日韩精品在线不卡一区|