如何“忽略”争论

问题描述 投票:0回答:2

我正在用 python 制作一个任务管理器,它使用 json 文件作为存档,并保存用户提供给程序的信息,我制作了一个具有不同功能的 python 文件来管理这些输入。

然后,当收集信息时,我创建了一个函数,将这些信息添加到 json 文件中

import json

def setTitle():
    #collects user's input

    appendJson(task=userInput)

def setDescription():
     #collects user's input

     appendJson(description=userInput)

def appendJson (task, description):
     #generate the json item

当我运行代码时,它给了我一个错误,因为我没有提到其他参数。 所以基本上我应该写

appendJson(task=userInput, description=bla bla)
,但问题是如果我写了它,代码就不起作用。

那么有没有办法在函数调用中省略第二个参数呢?

如果您有不明白的地方请在评论中告诉我 谢谢<3

python parameters arguments
2个回答
1
投票

如果您希望能够调用函数而不必每次都提供每个参数,则可以使用关键字参数:

def appendJson(task, description=None):
     #generate the json item

在这种情况下,第一个参数将始终被解释为 task 并且您可以选择通过appendJson(task, description="randomdescription") 提供 description

如果您想要两个参数都是可选的,则可以将两个参数都设为关键字参数:

def appendJson(task=None, description=None):
     #generate the json item

1
投票

修好了,

为参数设置默认值,如下所示:

def appendJson(task="default value", descripiton="defaultvalue"):

您也可以使用

def appendJson(task="Hello World", descripiton=None):
© www.soinside.com 2019 - 2024. All rights reserved.