我有一個函數帶有兩個可選參數,我想要求兩者都可以,或者兩者都沒有指定。在Python中執行此操作的首選方式是什麼?我目前的做法似乎有點尷尬:配對的可選參數
def myfunc(data, opt1=None, opt2=None):
if opt1 is None or opt2 is None:
if not (opt1 is None and opt2 is None):
raise ValueError("Must specify both opt1 and opt2 or neither.")
這個問題:Python Optional Argument Pair是我的一樣,但在具體的上下文;我對通常在函數內執行此操作的默認方式感興趣。
'如果(OPT1是無)=(OPT2是None):提高ValueError異常(...)' – khelwood
我覺得你的做法是你能做的最好的。除了在函數中用if語句檢查它之外,Python中沒有真正的「技巧」來強制執行這兩個或兩個可選參數。 –