小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

Python小知識 | 這些技能你不會?(三)

 Four兄 2019-10-05

一、字典和集合

(1)字典

Python里字典(dict)是一種比較常用的數(shù)據(jù)結(jié)構(gòu),基本格式{key : values},keyvalues可以為任意類型,比如int,str等。

(2)集合

Python里集合(set),可以使用大括號 { } 或者 set() 函數(shù)創(chuàng)建,可以稱為特殊列表,不能包含重復(fù)元素,另外需要注意:創(chuàng)建一個(gè)空集合必須用 set() 而不是 { },因?yàn)橹挥?{ } 是用來創(chuàng)建,系統(tǒng)會默認(rèn)為空字典。

(3)小技能,模糊查找

startswith 函數(shù)
startswith函數(shù)用于檢查字符串是否是以指定子字符串開頭,如果是則返回 True,否則返回 False。如果參數(shù) beg 和 end 指定值,則在指定范圍內(nèi)檢查。
參數(shù)介紹
startswith(str, beg,end)

str -- 檢測的字符串。
beg -- 可選參數(shù)用于設(shè)置字符串檢測的起始位置。
end -- 可選參數(shù)用于設(shè)置字符串檢測的結(jié)束位置。

二、類和對象

(1)基本介紹
書上是這樣說的“信不信由你,從開始閱讀本書起,你就一直在使用Python對象”,我覺得,完全沒毛病,你有對象嗎?

差點(diǎn)忘了,我這個(gè)是小技能,就不太細(xì)的去講這些理論性的東西了,下面圖片簡單介紹一下類與對象,覺得不錯點(diǎn)個(gè)贊哦~

簡單介紹一下

(2)創(chuàng)建類,創(chuàng)建對象,調(diào)用類方法

創(chuàng)建類:class關(guān)鍵字,根據(jù)縮進(jìn)確定類范圍

創(chuàng)建對象: 對象 = 類名(變量) 如:t0 = Myclass()

調(diào)用類方法:對象名.類方法名(參數(shù)) 如:t0.my_function()

(3)最重要的init__()函數(shù) 

Python 里由“__”開始的和結(jié)尾的為保留字。
方法__init__是類最重要的方法之一,根據(jù)名字可以看出來,表示初始化,創(chuàng)建類對象的同時(shí)會自動調(diào)用這個(gè)方法,傳參給類變量,通過__init__函數(shù)是個(gè)不錯的選擇或者說唯一選擇。

三、生成器

在Python中,一邊循環(huán)一邊計(jì)算的機(jī)制,稱為生成器(Generator)。
也可以這樣理解,生成器就是一個(gè)可以自動迭代的對象,類似于for循環(huán),又比for循環(huán)靈活。

根據(jù)上面,我們大致了解到生成器就是一個(gè)可迭代的對象,用yield關(guān)鍵字可以實(shí)現(xiàn),上面已經(jīng)說了函數(shù)執(zhí)行到y(tǒng)ield語句,就會停止本次運(yùn)行,返回yield后的參數(shù)或語句,等下次調(diào)用該函數(shù)時(shí),會從上次暫停的地方開始繼續(xù)運(yùn)行迭代,你肯定會想,那生成器到底有什么用呢?
我們再來看一個(gè)實(shí)例:

生成整數(shù)范圍內(nèi)的奇數(shù),很多人會覺得,我直接也可以生成啊,為什么要用yield改成生成器呢?你有沒有想過,整數(shù)內(nèi)的奇數(shù),雖然有一個(gè)范圍,但是,也還是很多的哈,你用什么存儲呢?生成器的好處就是,你需要多少個(gè),或者說你需要哪一個(gè),需要第幾個(gè),我就給你找到這個(gè)數(shù),只要到了這個(gè)數(shù),我就停下來休息,等你下次想找別的了,我再接著繼續(xù)找,一樣的找到就休息,所以這樣我們就不用考慮,這么多數(shù)放哪個(gè)地方了。
再來一個(gè)高級實(shí)例收尾:

思路比較簡單,生成隨機(jī)數(shù),首先要有個(gè)隨機(jī)數(shù)種子(初始值),然后對初始值進(jìn)行一些隨機(jī)操作,這里采用了擴(kuò)大(與一個(gè)質(zhì)數(shù)相乘),回原(與另一個(gè)質(zhì)數(shù)取余),這樣反復(fù)做了兩次,最后與max_rand 取余,得出最終隨機(jī)數(shù),這樣一頓騷操作保證了數(shù)據(jù)的隨機(jī)性,中間操作要設(shè)計(jì)到恰到好處,比較難,像密碼學(xué)老師說的“你加密,又加密,再加密,又再加密···很可能最后出來的就是明文了”。

最后介紹一下__next__()函數(shù),第一個(gè)實(shí)例就說了,生成器可以用for循環(huán)迭代,另外還有一個(gè)內(nèi)置函數(shù)__next__也是可以的,從名字可以看出就是調(diào)出下一個(gè),示例如下:

生成器給我最大的感受就是,我在使用的過程中,不用過多的考慮,這些數(shù)據(jù)可能會溢出,或者怎么樣,讓我更多的想我實(shí)現(xiàn)的功能怎么設(shè)計(jì)會漂亮一點(diǎn),多看看,敲一下上面的實(shí)例代碼,就理解了,別妄想著看一遍就能懂,也不要邊看邊抓頭發(fā),有閑時(shí)候多出去走走,多敲敲代碼,看看電影,聊聊天,聽聽歌,看看書。。。(說多了,下次見:裝飾器)

靈活應(yīng)用這些基本操作,讓你的工作學(xué)習(xí)事半功倍。

堅(jiān)持和努力:終有所獲。

    本站是提供個(gè)人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多