在Python中处理未实现的参数

Dhi*_*mar 3 python

我有一个带有以下签名的方法

def read_a_file(file_name, line_number=False):
    if line_number:
       raise NotImplementedError
    # CODE TO READ THE FILE
Run Code Online (Sandbox Code Playgroud)

line_number虽然我计划尽快完成,但这个论点尚未实施.我想在最终用户尝试read_a_file()使用line_number大于0的某个值调用时明确这一点.

提出NotImplementedError或是否有更好的方式通知来电者是否正确?

mfi*_*tzp 5

这是相当奇怪的行为会对你不希望人们用一个函数的参数-为什么不只是添加它时,它执行?

没有人会错过那些不存在的东西,这可能会增加更多的混乱.该参数将由自动填充工具建议,并且只有在运行代码后才可识别为不受支持.

如果你还是希望这样做,我会为例外,例如多一点参考消息

def read_a_file(file_name, line_number=False):
    if line_number:
        raise NotImplementedError("line_number parameter is not yet supported.")
Run Code Online (Sandbox Code Playgroud)