網頁

2025年7月16日 星期三

Python 靜態方法

 一、主題介紹:

靜態方法是不需要實例化物件就能直接被呼叫使用,在類別程式中於函式前面加上 @staticmethod 這個指令,即是宣告此函式是使用靜態方法,靜態方法的參數不需要使用 self  來傳入類別本身,它目的是要將與類別有邏輯相關的函式放入類別中,提高程式的結構性,而且還可以避免與其它函式命名上互相衝突,順便也提高了後續程式維護上的方便性與可讀性。


二、程式範例:


    class Myapp:
   
        def __init__(self,name,age):
            self.__name = name
            self.__age = age
   
        def setName(self,n):
            self.__name = n

        def setAge(self,a):
            self.__age = a

        def getName(self):
            return self.__name
   
        def getAge(self):
            return self.__age
   
        @staticmethod    #靜態方法
        def people(name,age):
            print(name," 的年齡是 ",age,"歲 !")
   


    #靜態方法不需要實例化可以直接使用
    Myapp.people('Mary',18)

    #實例化類別
    A = Myapp('Andy',53)
    print(A.getName()," 的年紀是 ",A.getAge(),"歲 !")

    A.setName('Joe')
    A.setAge(89)
    print(A.getName()," 的年紀是 ",A.getAge(),"歲 !")


#執行結果

Mary  的年齡是  18 歲 !

Andy  的年紀是  53 歲 !

Joe  的年紀是  89 歲 !


三、程式說明:

使用靜態方法 @staticmethod 可以將不屬於類別的函式整合到類別裡面,可以物件實例化或不用實例化就可以使用靜態方法,這在撰寫物件導向程式設計時非常有用。


沒有留言:

張貼留言

TQC+ Python 證照考題評量(五十四) - 平均溫度

 一、主題介紹: 資料庫中的一堆數據資料,時常需要這些資料的平均值、最大值、與最小值,作為分析資料的依據,如能透過寫程式讓它們自動化就能增加效率,就來看看今天的 TQC+ 考題的練習。 (1) 題目 請撰寫一程式,讓使用者輸入四週各三天的溫度,接著計算並輸出這四週的平均溫度及最高...