摘要:主要用于,設(shè)定函數(shù)的默認(rèn)值,但并不改變原有的函數(shù)。比如對函數(shù)設(shè)定額外的參數(shù)改為八進(jìn)制來進(jìn)行整數(shù)轉(zhuǎn)化。此時就是創(chuàng)建出來的一個全新的函數(shù)。模塊模塊要盡可能的不和內(nèi)置函數(shù)產(chǎn)生沖突。題外話面向?qū)ο蟮脑O(shè)計思想是抽象出,根據(jù)創(chuàng)建。
隨便叨叨
真的是很話嘮的在下了。
昨天沒有很完整的學(xué)習(xí),就沒有發(fā)布筆記了。
昨天主要是匆匆忙忙的回家了,買了好吃的法棍回家,好吃的法棍簡直是戰(zhàn)斗力的最佳保證!
然后和家里人聊聊天,其實(shí)平時對著電腦多了,對著電腦聊天總是不如面對面來的有感覺。
PS:但是還是很討厭接到工作上的完全沒邏輯的電話的。
2018的最后兩天。
我很想念小胡哥哥,大概這個地方他都看不到的吧,畢竟學(xué)術(shù)上我們倆的交叉是極少的。
希望2019年會變成更好的自己,也能擁有更多掌握自己生活的能力。
簡單打點(diǎn)雞血吧!
大學(xué)時候很喜歡的一段話。
每一個優(yōu)秀的人,都有一段沉默的時光。那一段時光,是付出了很多努力,忍受孤獨(dú)和寂寞,不抱怨,不訴苦,日后說起時,連自己都能被感動的日子。
不同于高數(shù)里的偏函數(shù)。
這個屬于Python的functools里提供的一個很有用的功能。
主要用于,設(shè)定函數(shù)的默認(rèn)值,但并不改變原有的函數(shù)。
比如對int()函數(shù)設(shè)定額外的參數(shù)base=8改為八進(jìn)制來進(jìn)行整數(shù)轉(zhuǎn)化。
#正常情況下 int("12345",base = 8) #或者我們考慮自己定義個函數(shù)int2 def int2(x,base=8): return int(x,base)
而functools.partial就不需要自己另外定義函數(shù)。
import functools int2 = functools.partial(int,base=2)
此時int2()就是創(chuàng)建出來的一個全新的函數(shù)。
簡單總結(jié)functools.partial的作用就是,把一個函數(shù)的某些參數(shù)給固定?。ㄒ簿褪窃O(shè)置默認(rèn)值),返回一個新的函數(shù),調(diào)用這個新函數(shù)會更簡單。
然鵝這個偏函數(shù),還可以在另外加入?yún)?shù)。
當(dāng)函數(shù)的參數(shù)個數(shù)太多,需要簡化時,使用functools.partial可以創(chuàng)建一個新的函數(shù),這個新函數(shù)可以固定住原函數(shù)的部分參數(shù),從而在調(diào)用時更簡單。
在使用中應(yīng)該要多考慮下使用場景,又是反復(fù)使用偏函數(shù)可能會產(chǎn)生反效果(個人感覺,還需要實(shí)踐測試)。
模塊模塊要盡可能的不和內(nèi)置函數(shù)產(chǎn)生沖突。
為了不和別人的模塊沖突,所以有了包。包名不沖突,那所有的模塊就不會沖突了。
每一個包目錄下面都會有一個__init__.py的文件,這個文件是必須存在的,否則,Python就把這個目錄當(dāng)成普通目錄,而不是一個包。
因?yàn)橛辛税?,有了模塊,所以可以產(chǎn)生多級的文件樹。
sys模塊下有一個argv參數(shù),用list存儲命令行的所有參數(shù)。
所以argv必定有至少一個參數(shù),就是文件名。
if __name__=="__main__": test()
當(dāng)命令行運(yùn)行hello模塊文件時候,Python解釋器把特殊變量__name__置為__main__,而如果在其他地方導(dǎo)入該hello模塊時候,if判斷將失效。
比如當(dāng)進(jìn)入交互模式時候,導(dǎo)入hello模塊,不會直接執(zhí)行test()函數(shù),需要調(diào)用。
作用域在Python里,我們通過_前綴來實(shí)現(xiàn)私有變量。
分為正常的朋友、特殊的朋友、和暗搓搓的朋友。
正常的朋友就是正常可以直接引用的。
特殊的朋友,比如__xx__這個樣子的,雖然可以被直接引用,但是有特殊用途。比如可以暴露我身份的__author__就是特殊變量啦。
然后_xx這個樣子的朋友,就是暗搓搓的朋友們啦,非公開的,不應(yīng)該直接被引用。
def _private_1(name): return "Hello, %s" % name def _private_2(name): return "Hi, %s" % name def greeting(name): if len(name) > 3: return _private_1(name) else: return _private_2(name)
在模塊內(nèi)公開greeting()函數(shù),但是內(nèi)部邏輯用私有函數(shù)隱藏,這樣調(diào)用的時候就不考慮內(nèi)部邏輯。
非常有用的代碼封裝和抽象的方法
外部需要引用的函數(shù)才定義為public,不需要引用的全部定義成private
在Python中,安裝第三方模塊,是通過包管理工具pip完成的。
然鵝這一步,在Mac或者Linux下是不需要安裝pip的。(悲傷的windows鵝,幸好安裝Python的時候妥妥安裝了
第三方庫一般都有官方注冊
安裝常用模塊用Anaconda,一個基于Python的數(shù)據(jù)處理和科學(xué)計算平臺,已經(jīng)內(nèi)置很多有用的第三方庫。
Anaconda會把系統(tǒng)Path中的python指向自己自帶的Python,并且,Anaconda安裝的第三方模塊會安裝在Anaconda自己的路徑下,不影響系統(tǒng)已安裝的Python目錄。
可以嘗試直接import numpy等已安裝的第三方模塊
模塊搜索路徑添加自己的搜索目錄,有倆辦法
修改sys.path,添加要搜索的目錄
import sys sys.path.append("/user/gaga/my_py_scriptss")
-設(shè)置環(huán)境變量PYTHONPATH,不影響Python自身的搜索路徑。
面向?qū)ο缶幊?/b>emmm,真是個令人悲傷的標(biāo)題。
Object Oriented Programming--->所以O(shè)OP才是一種程序設(shè)計思想嗎?....只是思想....
OOP把對象作為程序的基本單元,一個對象包含了數(shù)據(jù)和操作數(shù)據(jù)的函數(shù)。
突然覺得OOP是一個很浪漫的思想。(題外話)
面向?qū)ο蟮脑O(shè)計思想是抽象出Class,根據(jù)Class創(chuàng)建Instance。類和實(shí)例
面向?qū)ο蟮某橄蟪潭扔直群瘮?shù)要高,因?yàn)橐粋€Class既包含數(shù)據(jù),又包含操作數(shù)據(jù)的方法。
類的定義是使用class關(guān)鍵字。
-----困了的分界線,明日繼續(xù)分解下一回合...(好像明日2019年??? 今晚小酌一杯再來繼續(xù)!
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/42916.html
摘要:雖然還在一個城市里,但是感覺有了更多的自己的時間。但是有土辦法也有聰明的辦法。所以更高級的抽象化是需要逐步適應(yīng)的。最近已經(jīng)開始刷啦,受小伙伴感染,后續(xù)也會開始寫習(xí)題本啦 小小嘮叨幾句 這幾天都沒有更新,不代表我沒有學(xué)習(xí)吖!這兩天都在忙著半夜,終于有了自己的小窩,一直住家里,突然搬出來心情還滿奇特的。雖然還在一個城市里,但是感覺有了更多的自己的時間。比如現(xiàn)在是晚上十點(diǎn),在家的話可能還有很...
摘要:新年快樂年終于來了,突然覺得有點(diǎn)如釋重負(fù)。大概年實(shí)在是太沉重了吧。年應(yīng)該是要充滿拼勁的一年希望可以成功轉(zhuǎn)型自己喜歡的職業(yè)。開始認(rèn)真學(xué)習(xí)了雞血一波。建議類的屬性名和實(shí)例屬性名不要重復(fù),否則類的屬性名會覆蓋。 新年快樂 2019年終于來了,突然覺得有點(diǎn)如釋重負(fù)。大概2018年實(shí)在是太沉重了吧。2019年應(yīng)該是要充滿拼勁的一年!!!!希望可以成功轉(zhuǎn)型自己喜歡的職業(yè)。 開始認(rèn)真學(xué)習(xí)了 雞血一波...
摘要:南京現(xiàn)在算是我的一個治愈城市了,帶著重重的悲傷去,幸好落雪的瞬間將我治愈。年,世界和平,平安喜樂。繼承與多態(tài)繼承就是從現(xiàn)有的類進(jìn)行繼承,被繼承的為超類或者父類也就是爸爸,新的類為子類。 叨叨點(diǎn)啥 2018年的最后一天?;仡欉@一年,獲得很多也失去很多。今年去了很多的地方,成都,重慶,峨眉山,天津,杭州,南京。杭州是我特別喜歡的城市,有很多美好的記憶,也有很多失落的時刻。南京現(xiàn)在算是我的一...
摘要:用匿名函數(shù)有個好處,因?yàn)楹瘮?shù)沒有名字,不必?fù)?dān)心函數(shù)名沖突。此外,匿名函數(shù)也是一個函數(shù)對象,也可以把匿名函數(shù)賦值給一個變量,再利用變量來調(diào)用該函數(shù)也可以把匿名函數(shù)作為返回值返回。 日常嘮嗑 最近對數(shù)據(jù)崗位看了不少,感覺經(jīng)驗(yàn)和技術(shù)都是很必要的門檻,要更加的努力啊。今天看了Alex大叔的2019年運(yùn),感覺真的是很需要變革的一年了。轉(zhuǎn)型和脫離舒適圈應(yīng)該是2019年比較重要的關(guān)鍵詞了。 show...
摘要:默認(rèn)參數(shù)設(shè)置默認(rèn)參數(shù)時,有幾點(diǎn)要注意一是必選參數(shù)在前,默認(rèn)參數(shù)在后,否則的解釋器會報錯二是如何設(shè)置默認(rèn)參數(shù)。注意此處,獲得的其實(shí)是的拷貝,函數(shù)內(nèi)對的改變不會影響到。使用遞歸函數(shù)需要注意防止棧溢出。 總是在最前面的叨逼叨 最近總是在想成長這兩個很常常被提起的事情,這對于一個已經(jīng)25歲的半中年而言,已經(jīng)是一個不太能高頻提起的詞。但是,最近一些事情吧,總讓我覺得我的生長期似乎比正常人來的晚了...
閱讀 2896·2023-04-25 18:58
閱讀 1012·2021-11-25 09:43
閱讀 1242·2021-10-25 09:46
閱讀 3527·2021-09-09 11:40
閱讀 1744·2021-08-05 09:59
閱讀 893·2019-08-29 15:07
閱讀 982·2019-08-29 12:48
閱讀 730·2019-08-29 11:19