iT邦幫忙

python相關文章
共有 3510 則文章
鐵人賽 Software Development DAY 29

技術 [Day29] 末翼 - Term Projects:Project Postman - 研究如何傳遞decorator factory之參數

Postman源起 會想要研究這個小project,是因為在實作project ECC時,想要動態傳遞ttl。原先以為不太難,很快可以搞定,可是在玩了一陣子之後...

鐵人賽 Software Development DAY 28

技術 [Day28] 末翼 - Term Projects:Project ECC - 建立EdgeDB Cloud Connection(2)

streamlit app目標 使用streamlit建立一個可以輸入EdgeQL、query_args及query_kwargs的form,並於submit之...

鐵人賽 Software Development DAY 27

技術 [Day27] 末翼 - Term Projects:Project ECC - 建立EdgeDB Cloud Connection(1)

末翼大綱 末翼我們將實作兩個小project,來活用前面九翼的內容。 Project ECC [Day27]與[Day28]為project ECC,目標為實作...

鐵人賽 Software Development DAY 26

技術 [Day26] 九翼 - Exception Groups與except*:相關應用

今天我們分享三個Exception Groups與except*的相關應用。 應用1:asyncio 應用2:retry 應用3:context manage...

鐵人賽 Software Development DAY 25

技術 [Day25] 九翼 - Exception Groups與except*:導讀PEP654

九翼大綱 Exception Groups與except*是在Python3.11新增加的例外處理功能。一直以來都想好好搞懂,但...(下略三千字)。這次終於趁...

鐵人賽 Software Development DAY 24

技術 [Day24] 八翼 - Scopes:常見錯誤2(global與nonlocal)

在使用global與nonlocal時,有一個常見的錯誤,我們以兩個例子來說明。 global 問題觀察 # 01a中: 生成一個a變數於G,其值為0。 定義...

鐵人賽 Software Development DAY 23

技術 [Day23] 八翼 - Scopes:常見錯誤1(LEGB原則)

八翼大綱 Python尋找變數的方法是透過LEGB,即Local、Enclosing、Global及Built-in scope,來層層尋找。有興趣深究的朋友,...

鐵人賽 Software Development DAY 22

技術 [Day22] 七翼 - Protocols:Context Manager Protocol

Context Manager是一種可以讓我們使用with,於進出某段程式碼時,執行某些程式碼的功能。 Context Manager Protocol Con...

鐵人賽 Software Development DAY 21

技術 [Day21] 七翼 - Protocols:Iteration Protocol

首先我們要先來聊聊iterable與iterator。 iterable vs iterator 從iterable在Python docs的說明: ......

鐵人賽 Software Development DAY 20

技術 [Day20] 七翼 - Protocols:Sequence Protocol

七翼大綱 接下來三天,我們介紹Python三種常用的protocols。 [Day20]介紹Sequence Protocol。 [Day21]介紹Ite...

鐵人賽 Software Development DAY 19

技術 [Day19] 六翼 - 導讀Descriptor HowTo Guide:Pure Python Equivalents

今天讓我們繼續跟著大神的腳步,一起閱讀Descriptor HowTo Guide的Pure Python Equivalents,來看看如何用Python實作...

鐵人賽 Software Development DAY 18

技術 [Day18] 六翼 - 導讀Descriptor HowTo Guide:How dot works?

六翼大綱 在經過前面數翼的洗禮後,我們具備了閱讀Descriptor HowTo Guide比較深入部份的知識了。 [Day18]介紹Python如何使用d...

鐵人賽 Software Development DAY 17

技術 [Day17] 五翼 - Metaclasses:Metaclasses相關整理

今天我們來歸納整理一下metaclass相關的知識。 # 01為稍後會用到的程式碼,其內含有: 一個名為MyClass的class。 一個由MyClass生成...

鐵人賽 Software Development DAY 16

技術 [Day16] 五翼 - Metaclasses:__call__

今天我們來聊聊__call__。希望透過今天的內容,我們更清楚 my_inst(...)、MyClass(...)及MyType(...)或class MyCl...

鐵人賽 Software Development DAY 15

技術 [Day15] 五翼 - Metaclasses:Class Creation

今天我們分享class是如何生成的,其實關鍵都在type這個built-in。 type type有兩種常用的使用情況: 接受一個參數時,會回傳該參數的typ...

鐵人賽 Software Development DAY 14

技術 [Day14] 五翼 - Metaclasses:Instance Creation

五翼大綱 metaclasses可以說是Python最難掌握的範疇。如果是第一次接觸這些概念,很容易出現我是誰?,我在幹麻?,我要去哪裡?的徵狀。如果出現類似的...

鐵人賽 Software Development DAY 13

技術 [Day13] 四翼 - Descriptor:property vs Descriptor

property內部實作了descriptor protocol,所以可以視其為一種簡易版,單次使用的data descriptor。在我們需要少量descri...

鐵人賽 Software Development DAY 12

技術 [Day12] 四翼 - Descriptor:Descriptor存取設計(2)

今天我們來分享一些descriptor的通用寫法。由於今天的方法都能通過和方法1及方法2類似的檢查,所以以下將不再特別說明。 方法5 方法5嘗試為每個desc_...

鐵人賽 Software Development DAY 11

技術 [Day11] 四翼 - Descriptor:Descriptor存取設計(1)

descriptor就像是Python的倉庫管理員之一,在某些情況下(如[Day10]所述): 當其為non-data descriptor時,可以提供取的功...

鐵人賽 Software Development DAY 10

技術 [Day10] 四翼 - Descriptor:Non-Data Descriptor vs Data Descriptor

四翼大綱 一般我們從instance取得attribute或function時,會先由instance.__dict__找起,如果沒找到會再往上,順著生成ins...

鐵人賽 Software Development DAY 9

技術 [Day09] 三翼 - property:實例說明

今日我們透過解題,來練習看看如何活用property。以下會以prop來稱呼由property建立的property instance。 問題 建立一個Col...

鐵人賽 Software Development DAY 8

技術 [Day08] 三翼 - property:核心原理與基本型態

三翼大綱 property實作有__get__、__set__及__delete__,所以是一種data descriptor。其具備有簡潔的語法能方便使用,而...

鐵人賽 Software Development DAY 7

技術 [Day07] 次翼 - Decorator:@func to class

今天我們分享decorator function裝飾於class上的情況。本日接下來內容,會以decorator來作為decorator function的簡稱...

鐵人賽 Software Development DAY 6

技術 [Day06] 次翼 - Decorator:@class to func

今天我們分享decorator class裝飾於function上的情況。本日接下來內容,會以decorator來作為decorator class的簡稱。 另...

鐵人賽 Software Development DAY 5

技術 [Day05] 次翼 - Decorator:@func to func

次翼大綱 decorator為meta programming的技巧之一,可以改變被其裝飾obj之行為。 由於decorator可以用function及clas...

鐵人賽 Software Development DAY 4

技術 [Day04] 初翼 - Tips:11~15

今天我們繼續分享tips 11~15。 11. set的應用:在iterable_a裡卻不在iterable_b裡 當想尋找在a裡卻不在b裡的元素時,一般會寫成...

鐵人賽 Software Development DAY 3

技術 [Day03] 初翼 - Tips:6~10

今天我們繼續分享tips 6~10。 6. 當function回傳值為bool 有時候,我們會寫一些輔助的function來判斷傳入值是否符合某些條件,符合回傳...

鐵人賽 Software Development DAY 2

技術 [Day02] 初翼 - Tips:1~5

初翼大綱 接下來,連續三天,我們會每天分享五個Python小技巧。 [Day02]分享tips 1~5。 [Day03]分享tips 6~10。 [Da...

鐵人賽 Software Development DAY 1

技術 [Day01] 緣起及Python學習資源分享

緣起 不知道諸位會不會常遇到一種情況,就是當您那陣子很常使用程式的某種功能,會非常熟練,也了解了大部份的坑要怎麼解,覺得自己已經掌握了這項技能。但是日子久了,又...

鐵人賽 Software Development DAY 4

技術 Day 04 - FanGraphs 介紹

簡介 FanGraphs 是在 2009 年由 David Appelman 所創立的棒球資訊網站,上面除了提供棒球相關的歷史數據之外,也有聘請專業分析師,以部...