亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Python 類方法 - 適當的靜態與實例使用

Python 類方法 - 適當的靜態與實例使用

江戶川亂折騰 2021-07-08 19:12:15
我正在嘗試整理如何組織大量迭代存儲在 python 類實例中的數據的代碼。在大多數情況下,代碼讀取實例數據并產生一些結果(數字、列表等)。本質上,我只是試圖通過創建頂級實例方法來保持所有內容的可維護性和更易于閱讀,這些方法將繁重的工作委托給需要實例數據但不需要修改實例本身的“愚蠢”方法。鑒于這些其他方法的只讀性質,我最好將它們聲明為靜態方法并將所需數據作為單獨的參數傳遞,還是將它們全部保留為實例方法?我更喜歡靜態方法方法作為“自我”參數表示該方法修改實例數據,但我不知道我是否過度使用靜態方法來采用這種方法......我意識到這是一個廣泛的問題,邀請基于意見的回應,但我找不到任何信息表明過度使用靜態方法會造成任何真正的困難/性能問題(反之亦然)。也就是說,我看到應該謹慎使用靜態方法的建議,但我沒有看到任何理由。例如,在下面的代碼片段中,假設靜態方法表示對實例數據的重要但獨立的操作,最好將它們標記為靜態方法(這立即告訴我它們只返回結果,而不是修改實例或類),或者讓它們都是實例級方法并直接訪問數據?這種方法是否存在任何實際問題?class Test(object):    def __init__(self):        self.var1 = 10        self.var2 = ["my", "list", "of", "strings"]        self.var3 = [1,2,3,4,5]    @staticmethod    def processFloat(inst_float):        pass    @staticmethod    def processList(inst_list):        pass    @staticmethod    def processArray(inst_array):        pass    def doStuff(self):        processFloat(self.var1)        processList(self.var2)        processArray(self.var3)
查看完整描述

1 回答

  • 1 回答
  • 0 關注
  • 180 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號