類中普通方法定義及調用


一、概述
  類中的方法實際上就是執行某種數據處理功能的函數。
  與普通函數定義一樣,類中的方法在定義時也需要 使用def 關鍵字
  類中的方法分為兩類:普通方法和內置方法。
  • 普通方法需要通過 類的實例對象根據方法名調用
  • 內置方法是在特定情況下由系統自動執行。
 
  普通方法的定義和調用
  在定義類的普通方法時,要求 第一個參數需要 對應調用方法時所使用的 實例對象(一般命名為self,但也可以改為其他名字)。
  當使用一個實例對象調用類的普通方法時,其語法格式為:
   實例對象名.方法名(實參列表)
  提示:在通過類的實例對象調用類中的普通方法時,並 不需要傳入self參數的值,self會自動對應調用該方法時所使用的對象。
 
二、類中普通方法定義及調用示例
 1 class Student: #定義Student類 
 2     name='Unknown' #定義Student類中有一個name屬性 
 3     def SetName(self, newname): #定義類的普通方法SetName 
 4         self.name=newname #將self對應實例對象中的name屬性值賦為newname 
 5     def PrintName(self): #定義類的普通方法PrintName 
 6         print('姓名:%s'%self.name) #輸出self對應實例對象中的name屬性值 
 7 if __name__=='__main__': 
 8     stu1=Student() #定義Student類對象stu1 
 9     stu2=Student() #定義Student類對象stu2 
10     stu1.SetName('李曉明') #通過stu1對象調用SetName方法 
11     stu2.SetName('馬紅') #通過stu1對象調用SetName方法 
12     stu1.PrintName() #通過stu1對象調用PrintName方法 
13     stu2.PrintName() #通過stu2對象調用PrintName方法
提示:類的普通方法 必須通過實例對象調用,而 不能通過類名直接調用。
例如,如果運行    Student.SetName('未知')
        Student.PrintName()
 
系統會分別給出如下報錯信息:TypeError: SetName() missing 1 required positional argument: 'newname'
              TypeError: PrintName() missing 1 required positional argument: 'self '
 
(即都缺少了一個位置參數)這是因為通過實例對象調用時會 自動將該實例對象傳給self,而通過類調用時則不會有這個隱含的參數傳遞。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM