1.作用將類方法轉(zhuǎn)換為類屬性,可以用.直接獲取屬性值或者對屬性進(jìn)行賦值2.實(shí)現(xiàn)方式使用property類來實(shí)現(xiàn),也可以使用property裝飾器實(shí)現(xiàn),二者本質(zhì)是一樣的。多數(shù)情況下用裝飾器實(shí)現(xiàn)。classStudent(object):@propertydefscore(self):returnself._score@score.setterdefscore(self,value):ifnotisinstance(value,int):raiseValueE
系統(tǒng) 2019-09-27 17:54:11 1976
變量不是盒子在示例所示的交互式控制臺中,無法使用“變量是盒子”做解釋。圖說明了在Python中為什么不能使用盒子比喻,而便利貼則指出了變量的正確工作方式。變量a和b引用同一個(gè)列表,而不是那個(gè)列表的副本>>>a=[1,2,3]>>>b=a>>>a.append(4)>>>b[1,2,3,4]如果把變量想象為盒子,那么無法解釋Python中的賦值;應(yīng)該把變量視作便利貼,這樣示例中的行為就好解釋了注意:對引用式變量來說,說把變量分配給對象更合理,反過來說就有問題
系統(tǒng) 2019-09-27 17:53:57 1976
目錄基礎(chǔ)知識學(xué)習(xí)(MOOC嵩天+零散知識)無基礎(chǔ)不能高樓,合抱之木,生于毫末,九層之臺,起于累土1.1PythonMOOC練習(xí)31.2PythonMOOC練習(xí)41.3python中的隨機(jī)函數(shù)random的用法示例1.4Python文本詞頻統(tǒng)計(jì)的編碼問題-MOOC嵩天1.5Python中的復(fù)數(shù)和誤區(qū)1.6Python計(jì)算圓周率的兩種方法1.7Python實(shí)現(xiàn)七段數(shù)碼管顯示效果1.8Python實(shí)現(xiàn)科赫圖形設(shè)計(jì)1.9Python基本統(tǒng)計(jì)值計(jì)算1.10Pytho
系統(tǒng) 2019-09-27 17:53:52 1976
1.WhyFlask?官方文檔詳細(xì),學(xué)習(xí)成本低,有利于項(xiàng)目其他成員迅速投入開發(fā)框架輕,可擴(kuò)展性高,且有很多好用的擴(kuò)展(extension)該框架仍在積極地維護(hù)和開發(fā)2.將要介紹到的Flask的擴(kuò)展flaskblueprint用于注冊、管理路由flask_restful用于支持構(gòu)建RESTAPIsflask_migrate用于管理數(shù)據(jù)庫版本遷移flask_sqlalchemyorm,用于映射數(shù)據(jù)庫對象,提供數(shù)據(jù)操作方法3.項(xiàng)目結(jié)構(gòu)-project-user-
系統(tǒng) 2019-09-27 17:53:26 1976
坐擁各大編程排行榜的Python,真的無敵了嗎?在我一個(gè)朋友看來,他堅(jiān)信Python可以做任何事情。但其實(shí)我是不服的,我相信很多人都有這種感覺。但是我最近當(dāng)看GitHub年度項(xiàng)目數(shù)量時(shí),我哭了,因?yàn)镻ython應(yīng)用項(xiàng)目也太太太太多了吧!你們都是被Python迷惑了嗎?說好一起同Java和C白頭,你們卻一個(gè)一個(gè)變了心?所以程序當(dāng)我的朋友不斷投入Python學(xué)習(xí)時(shí),我決定做一些Python調(diào)研,因?yàn)榫蛡€(gè)人發(fā)展而言,選擇學(xué)習(xí)的技術(shù)與要就讀的大學(xué)可謂同等重要。如果
系統(tǒng) 2019-09-27 17:53:06 1976
1什么是seleniumSelenium是一個(gè)基于瀏覽器的自動化工具,它提供了一種跨平臺、跨瀏覽器的端到端的web自動化解決方案。Selenium主要包括三部分:SeleniumIDE、SeleniumWebDriver和SeleniumGrid:SeleniumIDE:Firefox的一個(gè)擴(kuò)展,它可以進(jìn)行錄制回放,并可以把錄制的操作以多種語言(例如java,python等)的形式導(dǎo)出成測試用例。SeleniumWebDriver:提供Web自動化所需的A
系統(tǒng) 2019-09-27 17:52:52 1976
queue介紹queue是python中的標(biāo)準(zhǔn)庫,俗稱隊(duì)列。在python中,多個(gè)線程之間的數(shù)據(jù)是共享的,多個(gè)線程進(jìn)行數(shù)據(jù)交換的時(shí)候,不能夠保證數(shù)據(jù)的安全性和一致性,所以當(dāng)多個(gè)線程需要進(jìn)行數(shù)據(jù)交換的時(shí)候,隊(duì)列就出現(xiàn)了,隊(duì)列可以完美解決線程間的數(shù)據(jù)交換,保證線程間數(shù)據(jù)的安全性和一致性。注意:在python2.x中,模塊名為Queuequeue模塊有三種隊(duì)列及構(gòu)造函數(shù)Pythonqueue模塊的FIFO隊(duì)列先進(jìn)先出。queue.Queue(maxsize)LI
系統(tǒng) 2019-09-27 17:52:43 1976
概述如今我也是使用Python寫代碼好多年了,但是我卻很少關(guān)心GIL的內(nèi)部機(jī)制,導(dǎo)致在寫Python多線程程序的時(shí)候。今天我們就來看看CPython的源代碼,探索一下GIL的源碼,了解為什么Python里要存在這個(gè)GIL,過程中我會給出一些示例來幫助大家更好的理解GIL。GIL概覽有如下代碼:staticPyThread_type_lockinterpreter_lock=0;/*ThisistheGIL*/這行代碼位于Python2.7源碼ceval.c
系統(tǒng) 2019-09-27 17:52:42 1976
上面我們學(xué)習(xí)了RDD如何轉(zhuǎn)換,即一個(gè)RDD轉(zhuǎn)換成另外一個(gè)RDD,但是轉(zhuǎn)換完成之后并沒有立刻執(zhí)行,僅僅是記住了數(shù)據(jù)集的邏輯操作,只有當(dāng)執(zhí)行了Action動作之后才會真正觸發(fā)Spark作業(yè),進(jìn)行算子的計(jì)算執(zhí)行操作有:reduce(func)collect()count()first()take(n)takeSample(withReplacement,num,[seed])takeOrdered(n,[ordering])saveAsTextFile(path
系統(tǒng) 2019-09-27 17:52:33 1976
和很多語言一樣,Python中也分為簡單賦值、淺拷貝、深拷貝這幾種“拷貝”方式。在學(xué)習(xí)過程中,一開始對淺拷貝理解很模糊。不過經(jīng)過一系列的實(shí)驗(yàn)后,我發(fā)現(xiàn)對這三者的概念有了進(jìn)一步的了解。一、賦值賦值算是這三種操作中最常見的了,我們通過一些例子來分析下賦值操作:str例復(fù)制代碼代碼如下:>>>a='hello'>>>b='hello'>>>c=a>>>[id(x)forxina,b,c][4404120000,4404120000,4404120000]由以上指
系統(tǒng) 2019-09-27 17:51:51 1976