- instance method
- 物件層級
- 定義前的修飾字:無
- 定義語法: def method_name(self, ...): ...
- self 是該instance 的 reference
- 呼叫方法: instance.method_name(...)
- method當中使用物件/類別屬性的方式
- self.AAA = 10 # 將物件層級屬性AAA設為 10
- type(self).BBB = 20 # 將物件類別的類別層級屬性BBB設為 20
- ClassC.CCC = 30 # 將ClassC的類別層級屬性CCC設為30,ClassC未必是自己的類別
- class method
- 類別層級 (假設類別為 C)
- 定義前的修飾字:@classmethod
- 定義語法: def method_name(cls, ...): ...
- cls 是該 class 的 reference
- 呼叫方法:C.method_name(...) 或 instance_of_c.method_name(...)
- method當中使用類別屬性的方式
- cls.BBB = 20 # 將當下類別層級屬性BBB設為 20
- C.BBB = 20 # 將C的類別層級屬性BBB設為 20
- ClassC.CCC = 30 # 將ClassC的類別層級屬性CCC設為30,ClassC未必是自己的類別
- static method
- 類別層級 (假設類別為 C)
- 定義前的修飾字:@staticmethod
- 定義語法: def method_name(...): ...
- 呼叫方法:C.method_name(...) 或 instance_of_c.method_name(...)
- method當中使用類別屬性的方式
- C.BBB = 20 # 將C的類別層級屬性BBB設為 20
- ClassC.CCC = 30 # 將ClassC的類別層級屬性CCC設為30,ClassC未必是自己的類別
2018年1月20日 星期六
Python 3 的 class: instance method、class method、static method的區別
在Python 3當中,一個類別(class)的成員函式(member function/method),可以定義成instance method、class method、或是static method。instance method是物件層級的函式,而class method和static method是類別層級(無法存取物件層式的屬性)的函式(基本大觀念假設不細講)。以下大致比較一下這三者:
Python讀寫utf-8的文字檔
Python開啟文字檔的時候,encoding這個參數是大家比較不常用的:
encoding如果不指定,會是作業系統的預設選項 (使用者應該可以改,但我沒試過)。如果在linux系列,多半會是utf-8 (有不是的嗎?);如果在較舊的Windows,則是 big5/cp950 。當我們的程式碼可能在多個平台執行時,最好把encoding作明確的設定,免得在讀寫共用的文字檔案時,因為encoding而發生執行錯誤。
with open(f_name, 'w', encoding='utf-8') as f_out:encoding是指文字檔的編碼。如果要讀寫utf-8的文字檔,編碼會是以下兩者之一:
....
....
- encoding='utf-8':純utf-8文字檔 (常見於linux)
- encoding='utf-8-sig':檔案開頭有加BOM (常見於Windows上的utf-8檔)
encoding如果不指定,會是作業系統的預設選項 (使用者應該可以改,但我沒試過)。如果在linux系列,多半會是utf-8 (有不是的嗎?);如果在較舊的Windows,則是 big5/cp950 。當我們的程式碼可能在多個平台執行時,最好把encoding作明確的設定,免得在讀寫共用的文字檔案時,因為encoding而發生執行錯誤。
2018年1月2日 星期二
推背圖44象之精闢解釋
大家多半憑著雙羽四足,就猜測是指著習近平與馬英九。
「習」是小鳥白天學飛,所以雙羽指鳥、指習,是沒有問題的。
這個部份,在馬英九與習近平上任之前,就有人解開了。
去年,我再來看44象時,發現了更有意思的地方。
「雖非豪傑」四字,有不突出的意思,
所以「近平」二字也有解釋了。
真不知當年,李淳風是怎麼算出這些東西的。
推背圖原文:
【第四十四象丁未離上坎下未濟】
讖曰
日月麗天
群陰懾服
百靈來朝
雙羽四足
頌曰
中國而今有聖人
雖非豪傑也周成 <==近平
四夷重譯稱天子 <==任期無限延長
否極泰來九國春
訂閱:
文章 (Atom)