物件的繫結方法與初始化
阿新 • • 發佈:2021-12-05
目錄
一:物件繫結方法與初始化
普通函式中:
函式: 普通函式 def 定義的函式,有幾個引數就要傳幾個引數
類中的函式:
方法: 繫結給某個物件的,方法有特殊之處:繫結給誰,誰來呼叫
物件呼叫就會把物件傳過來,傳給self
二:物件繫結方法 實戰
class Student: def choose_course(self): 定義在類內部的函式,就是繫結給物件的方法 print('%s中國人,選課' % self.name) 誰來呼叫,這個name就是誰 s1 = Student() s1.name = 'lqz' 自己名稱空間加了name屬性 s1.choose_course() 繫結給物件的方法,物件來呼叫,自動把物件傳進去 s2 =Student() s1.name = 'lqz' 自己名稱空間加了name k:v s1.choose_course() 繫結給物件的方法,物件來呼叫,自動把物件傳進去 類可以呼叫方法嗎? 答:可以呼叫 類來呼叫 就是個普通的引數 chppse_course就是個普通的函式 s1 Student() s1.name = '李四' Student.choose_course(s1) eg:類可以呼叫物件的繫結方法,但是需要手動把物件傳進來,現在choose_course就是個普通的函式,有幾個引數,就要傳幾個引數
三:物件初始化
初始化:初級版 class Student: def __init__(self): print('init') def choose_course(self): print('選課') student1 = Student() 只要是類例項化得到物件,就會自動觸發__init__的執行 初始化:中級版 class Student: def __innit__(self, name, age): self.name = name self.age = age def choose_course(self): print('選課') student = Student(name='lqz', age=19) 這種初始化方法會觸發類的__init__的執行,並把引數傳入 print(student.name) 輸出結果:lqz egon = Student(name='egon', age=20) 這種初始化方法會觸發類的__init__的執行,並把引數傳入 print(agon.name) 輸出結果:agon 初始化:終極版 class Student: 初始化 物件 賦值 def __init__(self, name, age) self.name = name self.age = age def choose_course(self): print('選課') 只要是類序列化得到物件,就會自動觸發__init__的執行,這種初始化的方式會觸發類的__init__的執行就會自動將引數傳入 lqz = Student('lqz', 20) print(lqz.name)