我可以将函数设置为默认参数吗?

时间:2019-09-02 23:20:20

标签: python function arguments default-arguments

我最近发现一个函数可以像这样使用:

def func():
    print("Hello World!")


def run_func(name_of_func):
    name_of_func()


run_func(func)  # Prints "Hello World!"

函数名称用作参数。所以我的问题是在这种情况下是否可以使用默认参数。更具体地说,如果调用run_func()时没有参数,是否可以使用默认参数,以便我的程序不输出任何内容并结束而不会引发错误?

有类似的函数可以调度和循环一个函数。但是,在调用函数时,必须放入参数,否则会导致错误(基本上没有默认参数)。

2 个答案:

答案 0 :(得分:3)

是的

this.pdf = new jsPDF();
this.pdf.cell(0, 0, 10, 10, "cell cell cell cell cell cell cell");
this.pdf.cell(10, 0, 10, 10, cell cell cell cell cell cell cell);

有时候玩一些东西并尝试一下是一件好事。 :)

答案 1 :(得分:2)

请考虑以下内容:

def foo(x = 0):
    print(x + 5)

foo(10)
foo()

输出将是: 10 5 这是因为0是该函数的默认参数

您可以尝试以下方法:

def func():
    print("Hello World!")

def run_func(x = func):
    func()

然后,当您不带任何参数调用run_func()时,只要实际上定义了函数'func',就不会出现任何错误。

希望这有帮助。