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

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

如何丟棄函數(shù)參數(shù)中的 None 值

如何丟棄函數(shù)參數(shù)中的 None 值

largeQ 2024-01-16 15:14:07
我有一個函數(shù)df()對輸入 *args 執(zhí)行一些操作:def df(*args):    for arg in args:        # do some computation我有這三個變量將作為 的參數(shù)df():a = 1234b = 4321c = None有什么方法可以在函數(shù)調(diào)用中“丟棄”這個非類型值嗎?我知道我可以在函數(shù)內(nèi)添加一個條件,但就我而言,我還有更多函數(shù)也將接收這個值,那么有沒有什么方法可以在函數(shù)調(diào)用中“丟棄”某種參數(shù)?
查看完整描述

1 回答

?
蝴蝶刀刀

TA貢獻1801條經(jīng)驗 獲得超8個贊

從函數(shù)參數(shù)中過濾掉 None 的裝飾器:


def omit_none(f):

    def wrapper(*args):

        args = [arg for arg in args if arg is not None]

        return f(*args)

    return wrapper

然后用它作為


@omit_none

def df(*args):

    for arg in args:

        # do some computation

假設(shè)您不打算將關(guān)鍵字參數(shù)與受影響的函數(shù)一起使用。


如果我有其他函數(shù) bar(user, *args) 并且我只需要在 args 上使用裝飾器


好的。這是一個更具適應(yīng)性的版本:


def omit_none_from(index):

    def omit_none_from(func):

        def wrapper(*args):

            args = list(args[:index]) + [arg for arg in args[index:] if arg is not None]

            return func(*args)

        return wrapper

    return omit_none_from

您將其用作:


@omit_none_from(1)

def bar(user, *args):

    ...

這將從參數(shù) 1 開始過濾掉 None,因此它將保持第一個參數(shù)user不變。


查看完整回答
反對 回復(fù) 2024-01-16
  • 1 回答
  • 0 關(guān)注
  • 194 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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