gpt4 book ai didi

arguments - Python 中可选参数的默认值 :

转载 作者:太空宇宙 更新时间:2023-11-03 13:03:49 25 4
gpt4 key购买 nike

我有以下方法:

def get_data(replace_nan=False):
if replace_nan is not False
data[numpy.isnan(data)] = replace_nan
return data
else:
return data[~numpy.isnan(data)]

因此,如果 replace_nan 为 False,我们返回一些数据数组但删除 NaN,如果是其他情况,我们替换 NaN s 与参数。

问题是,我可能想用 False 替换 NaN。或其他任何东西,为此。最pythonic的方法是什么?这:

def get_data(**kwargs):
if "replace_nan" in kwargs:
...

有效,但在语义上很丑陋(因为我们真的只对一个关键字参数感兴趣,replace_nan)如何处理这种情况有什么建议吗?

最佳答案

通常人们使用 None 作为默认值,然后检查 is not None

如果您也需要允许 None,请使用虚拟对象:

__default = object()
def get_data(replace_nan=__default):
if replace_nan is __default:
...

关于arguments - Python 中可选参数的默认值 :,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10599346/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com