Postman源起 會想要研究這個小project,是因為在實作project ECC時,想要動態傳遞ttl。原先以為不太難,很快可以搞定,可是在玩了一陣子之後...
streamlit app目標 使用streamlit建立一個可以輸入EdgeQL、query_args及query_kwargs的form,並於submit之...
末翼大綱 末翼我們將實作兩個小project,來活用前面九翼的內容。 Project ECC [Day27]與[Day28]為project ECC,目標為實作...
今天我們分享三個Exception Groups與except*的相關應用。 應用1:asyncio 應用2:retry 應用3:context manage...
九翼大綱 Exception Groups與except*是在Python3.11新增加的例外處理功能。一直以來都想好好搞懂,但...(下略三千字)。這次終於趁...
在使用global與nonlocal時,有一個常見的錯誤,我們以兩個例子來說明。 global 問題觀察 # 01a中: 生成一個a變數於G,其值為0。 定義...
八翼大綱 Python尋找變數的方法是透過LEGB,即Local、Enclosing、Global及Built-in scope,來層層尋找。有興趣深究的朋友,...
Context Manager是一種可以讓我們使用with,於進出某段程式碼時,執行某些程式碼的功能。 Context Manager Protocol Con...
首先我們要先來聊聊iterable與iterator。 iterable vs iterator 從iterable在Python docs的說明: ......
七翼大綱 接下來三天,我們介紹Python三種常用的protocols。 [Day20]介紹Sequence Protocol。 [Day21]介紹Ite...
今天讓我們繼續跟著大神的腳步,一起閱讀Descriptor HowTo Guide的Pure Python Equivalents,來看看如何用Python實作...
六翼大綱 在經過前面數翼的洗禮後,我們具備了閱讀Descriptor HowTo Guide比較深入部份的知識了。 [Day18]介紹Python如何使用d...
今天我們來歸納整理一下metaclass相關的知識。 # 01為稍後會用到的程式碼,其內含有: 一個名為MyClass的class。 一個由MyClass生成...
今天我們來聊聊__call__。希望透過今天的內容,我們更清楚 my_inst(...)、MyClass(...)及MyType(...)或class MyCl...
今天我們分享class是如何生成的,其實關鍵都在type這個built-in。 type type有兩種常用的使用情況: 接受一個參數時,會回傳該參數的typ...
五翼大綱 metaclasses可以說是Python最難掌握的範疇。如果是第一次接觸這些概念,很容易出現我是誰?,我在幹麻?,我要去哪裡?的徵狀。如果出現類似的...
property內部實作了descriptor protocol,所以可以視其為一種簡易版,單次使用的data descriptor。在我們需要少量descri...
今天我們來分享一些descriptor的通用寫法。由於今天的方法都能通過和方法1及方法2類似的檢查,所以以下將不再特別說明。 方法5 方法5嘗試為每個desc_...
descriptor就像是Python的倉庫管理員之一,在某些情況下(如[Day10]所述): 當其為non-data descriptor時,可以提供取的功...
四翼大綱 一般我們從instance取得attribute或function時,會先由instance.__dict__找起,如果沒找到會再往上,順著生成ins...
今日我們透過解題,來練習看看如何活用property。以下會以prop來稱呼由property建立的property instance。 問題 建立一個Col...
三翼大綱 property實作有__get__、__set__及__delete__,所以是一種data descriptor。其具備有簡潔的語法能方便使用,而...
今天我們分享decorator function裝飾於class上的情況。本日接下來內容,會以decorator來作為decorator function的簡稱...
今天我們分享decorator class裝飾於function上的情況。本日接下來內容,會以decorator來作為decorator class的簡稱。 另...
次翼大綱 decorator為meta programming的技巧之一,可以改變被其裝飾obj之行為。 由於decorator可以用function及clas...
今天我們繼續分享tips 11~15。 11. set的應用:在iterable_a裡卻不在iterable_b裡 當想尋找在a裡卻不在b裡的元素時,一般會寫成...
今天我們繼續分享tips 6~10。 6. 當function回傳值為bool 有時候,我們會寫一些輔助的function來判斷傳入值是否符合某些條件,符合回傳...
初翼大綱 接下來,連續三天,我們會每天分享五個Python小技巧。 [Day02]分享tips 1~5。 [Day03]分享tips 6~10。 [Da...
緣起 不知道諸位會不會常遇到一種情況,就是當您那陣子很常使用程式的某種功能,會非常熟練,也了解了大部份的坑要怎麼解,覺得自己已經掌握了這項技能。但是日子久了,又...
簡介 FanGraphs 是在 2009 年由 David Appelman 所創立的棒球資訊網站,上面除了提供棒球相關的歷史數據之外,也有聘請專業分析師,以部...