我有兩個一起運行的文件,一個ui文件和一個util文件。何時知道將方法轉換爲靜態方法
這是UI文件:
import util
class MainWindow(object):
...
def method_context_callback(self, *args):
if args[0] == 'M1':
self.ctx = utils.M1Context(...)
self.ctx.run_context()
elif args[1] == 'M2':
self.ctx = utils.M2Context(...)
self.ctx.run_context()
這是文件的Util:
class M1Context(object):
def __init__(self):
...
def run_context(self):
# Do something when Method01 is used
class M2Context(object):
def __init__(self):
...
def run_context(self):
# Do something when Method02 is used
是否有必要盡在utils.py
作爲一個靜態方法run_context
方法呢?在我的UI中,有2個按鈕,分別用於Method01和Method02,用戶可以在用戶界面處於活動狀態時隨時使用按鈕。
我問這個,因爲當我在網上閱讀某些內容時,有人提到它可以被考慮。說實話,我並不是很熟悉@staticmethod
,因爲我通常以這種格式編寫我的代碼。
我該如何知道什麼時候應該將其作爲一種靜態方法?
不是Python,但[這個答案](http://stackoverflow.com/questions/2671496/java-when-to-use-static-methods)應該幫助你考慮。 – tyteen4a03
啊,我記得我讀過的文章/文章是在談論/使用Python語言...... – dissidia
我強烈推薦Raymond Hettinger的46分鐘的PyCon 2013演講,「[Python的班級開發工具包](https://www.youtube.com /手錶?ν= HTLu2DFOdTg)」。他是Python的核心開發人員之一,他的講課總是很有趣,而且內容翔實。這個演示了Python類的許多特性背後的「原因」,包括'@ staticmethod'和'@ classmethod'。 –