python語法學習第十天 魔法方法

2021-10-06 04:10:23 字數 1383 閱讀 3542

魔法方法二!!!

屬性訪問:在對屬性任何操作時,都會呼叫

有關屬性

__getattr__(self, name)

定義當使用者試圖獲取乙個不存在的屬性時的行為

__getattribute__(self, name)

定義當該類的屬性被訪問時的行為

__setattr__(self, name, value)

定義當乙個屬性被設定時的行為

__delattr__(self, name)

定義當乙個屬性被刪除時的行為

__dir__(self)

定義當 dir() 被呼叫時的行為

__get__(self, instance, owner)

定義當描述符的值被取得時的行為

__set__(self, instance, value)

定義當描述符的值被改變時的行為

__delete__(self, instance)

定義當描述符的值被刪除時的行為

在得到屬性時,先呼叫__getattribute__(self, name)後呼叫__getattr__(self, name)

描述符:描述符就是將某種特殊型別的類(實現下面三個方法其中乙個或多個)的例項指派給另乙個類的屬性

self指當前物件,instance指另乙個類的例項化物件

__get__(self,instance,owner)用於訪問屬性,它返回屬性的值

__set__(self,instance,value)將在屬性分配操作中呼叫,不返回任何內容

_delete__(self,instance)控制刪除操作,不返回任何內容

練習:攝氏度轉為華氏度

class cel:

def __init__(self,value=26.0):

self.value=value;

def __get__(self,instance,owner):

return self.value

def __set__(self,instance,value):

self.value=value

class fah:

def __get__(self,instance,owner):

return instance.cel*10

def __set__(self,instance,value):

instance.cel=value

class temperature:

cel=cel()

fah=fah()

python語法學習第十天 類與物件

python物件導向語言 物件 屬性 方法 oo object oriented物件導向 的特徵 封裝,資訊隱蔽技術 繼承 class a baseclass 多型 類 圖紙 class a 屬性 方法 方法帶引數self,不帶引數self的方法可以從類呼叫不能用例項化物件類呼叫 python中的類...

python學習第十天

class student count 0 def init self,name,age,address self.name name self.age age self.address address student.count 1 k print k w open a.txt w encodin...

python學習第十天

這兩個習題主要是複習各種符號,並且強調編寫長 時要寫一段執行一段修改一段 主要是學習對列表的進一步操作 ten things stuff ten things.split 定義乙個字串變數 用split 函式以空格為分隔標誌分隔字串使之成為列表 more stuff day night song f...