我知道與Python類可以從其他類繼承這樣的:在Python中可能的函數是繼承嗎?
class A(object):
pass
class B(A):
pass
然而,這是可能的功能呢?例如,在Fab文件中,我目前有兩個功能可以完成一些相同的功能。我想要一個基本功能,這樣我可以停止重複設置。
例如:
def environment_base():
#settings for both environment1 and environment2 here
def environment1():
pass
def environment1():
pass
我知道這是什麼類的,但面料不給我用類設置的選項。
這是我的實際使用案例。我有兩個環境中布文件i..e fab environment1 command
或fab environment2 command
def environment1():
settings = get_settings(local_path)
env.git_key = settings['GIT_KEY']
env.hosts = get_hosts_list(local_path)
def environment1():
settings = get_settings(local_path)
env.hosts = get_hosts_list(local_path)
正如你可以看到這兩個函數有一些相同的設置和不符合「不重複自己」的原則。
您必須顯式調用'environment_base'。據我所知,你所描述的任何OO語言(甚至OO理論)都不存在。 –
沒有更具體的例子,很難提供建議。請注意,雖然你不能「子類化」函數,但你可以使類「__call__」。 – jonrsharpe