第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

如何讓一個(gè)函數(shù)在不定義的情況下什么都不做?

如何讓一個(gè)函數(shù)在不定義的情況下什么都不做?

手掌心 2022-01-18 13:45:54
我希望有一些函數(shù)在調(diào)用我的對(duì)象的方法時(shí)被調(diào)用。這些函數(shù)不是由方法定義的——它們稍后會(huì)提供給方法(或者可能根本不提供)。有沒(méi)有比使用更優(yōu)雅的占位符解決方案:class MyObj:    def __init__(self):        self.bind = self.donothing #variable that may or may not be set by the parent    def func(self):        """Function to be called by the parent"""        self.bind()        ## do stuff    @staticmethod    def donothing():        pass
查看完整描述

2 回答

?
翻過(guò)高山走不出你

TA貢獻(xiàn)1875條經(jīng)驗(yàn) 獲得超3個(gè)贊

您可以執(zhí)行以下操作:


class MyObj:

    def __init__(self):

        self.bind = None


    def func(self):

        """Function to be called by the parent"""

        if self.bind:

            self.bind()


            ## do stuff


    def define_function(self, f):

        self.bind = f

與其他對(duì)象一樣,函數(shù)可以用作方法的參數(shù)。只需在沒(méi)有值的情況下初始化變量并使用設(shè)置器為其分配一個(gè)值。


查看完整回答
反對(duì) 回復(fù) 2022-01-18
?
DIEA

TA貢獻(xiàn)1820條經(jīng)驗(yàn) 獲得超2個(gè)贊

前段時(shí)間問(wèn)了這個(gè)問(wèn)題,不知道答案。從那以后,我了解到答案是:


class MyObj:

    def __init__(self):

        self.bind = lambda *a, **b: ()


    def func(self):

        """Function to be called by the parent"""

        self.bind()


        ## do stuff


查看完整回答
反對(duì) 回復(fù) 2022-01-18
  • 2 回答
  • 0 關(guān)注
  • 126 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)