🍖類和物件的繫結方法與非繫結方法
阿新 • • 發佈:2020-12-27
引入
類的定義方法大致可以分為兩類 : 繫結方法和非繫結方法
其中繫結方法又可以分為繫結到物件的方法和繫結到類的方法
一.繫結方法
1.物件的繫結方法
- 在類中沒有被任何裝飾器修飾的方法就是繫結給物件的方法, 這類方法專門為物件定製的
class Person: def __init__(self,name,age): self.name = name self.age = age def print_name(self): print(self.name) def print_age(self): print(self.age) P1 = Person('shawn',22) P1.print_name() # shawn print(Person.__dict__['print_name']) # <function Person.print_name at 0x00000168C1A54DC8>
通過
__dict__
檢視類的屬性字典, 我們可以發現print_name
即為繫結到物件的方法, 這個方法不在物件的名稱空間中, 而是在類的名稱空間中
物件呼叫繫結給物件的方法, 這裡會有一個自動傳值的過程, 即自動將當前物件傳遞給方法的第一個引數, 也就是 "self" (約定俗成的叫self, 也可以叫別的)
若是類呼叫, 則第一個引數需要手動傳值