python 魔法方法2

2021-08-18 22:02:19 字數 853 閱讀 2628

溫度計

#攝氏度屬性的描述符類

class

celsius:

def__init__

(self, value = 26):

#溫度初始化

self.value = float(value) #例項化物件,並轉化成浮點數

def__get__

(self, instance, owner):

#當self的屬性被獲得的時候,獲得攝氏度初始值

return self.value

def__set__

(self, instance, value):

#當self被設定的時候,獲得例項化物件,並轉化成浮點數

self.value = float(value)

#華氏度屬性的描述符類

class

fahrenheit:

def__get__

(self, instance, owner):

#當self 的屬性被獲得的時候,獲得公式: 攝氏度的值*1.8+32

return instance.cel * 1.8 + 32

def__set__

(self, instance, value):

# 當self被設定的時候,獲得公式:(華氏度的值-32)/1.8

instance.cel = (float(value) - 32) / 1.8

#溫度計,呼叫屬性

class

temperature:

cel = celsius() #攝氏度

fah = fahrenheit() #華氏度

python 魔法方法(2)

類的定製 簡單定製 完成以上功能,需要這些資源 使用time模組的localtime方法獲取時間,擴充套件閱讀 time 模組詳解 時間獲取和轉換 time.localtime返回struct time的時間格式 表現你的類 str 和 repr time.localtime返回的資料結構如下 重寫...

Python魔法方法 基本的魔法方法

new cls 1.new 是在乙個物件例項化時候所呼叫的第乙個方法 2.他的第乙個引數是這個類,其他的引數是用來直接傳遞給 init 方法 3.new 決定是否使用該 init 方法,因為.new 可以直接呼叫其他類的構造方法,或者返回別的例項物件來作為本類的例項,如果 new 沒有返回例項物件,...

python 魔法方法

魔法方法具有一定的特徵 new cls class capstr str def new cls,string 修改新類裡的new方法,需傳入乙個引數 string string.upper return str.new cls,string 用父類裡的new方法進行返回,直接飯後構造後的物件def...