用python 3打印函数本身

用python 3打印函数本身,python,Python,编写一个程序,其函数名为my_func,有三个参数,a、b和c 第一个参数是必需的,第二个参数的默认值为'b未输入'和'c未输入' 函数必须打印每个参数的值 在您的程序中,调用my_func三次。第一次,只需为第一个参数提供一个值 第二次,提供第一个和第二个参数的值。第三次,提供所有三个参数的值 在程序中,打印函数本身 输出应为: test b was not entered c was not entered test test c was not entered test test test

编写一个程序,其函数名为
my_func
,有三个参数,
a
b
c

第一个参数是必需的,第二个参数的默认值为
'b未输入'
'c未输入'

函数必须打印每个参数的值

在您的程序中,调用
my_func
三次。第一次,只需为第一个参数提供一个值

第二次,提供第一个和第二个参数的值。第三次,提供所有三个参数的值

在程序中,打印函数本身

输出应为:

test
b was not entered
c was not entered
test
test
c was not entered
test
test
test
<function my_func at 0x397588>

您似乎只遗漏了最后一部分:

在程序中,打印函数本身

只需添加以下内容:

print(my_func)
您将完全按照您的要求获得输出

此外,当代码现在生成输出时,您使用的是
False
作为默认值,而不是所要求的值。您还为每个参数使用列表,问题并没有要求您这样做。您可以这样定义您的函数:

def my_func(a, b="b was not entered", c="C was not entered"):
    print(a)
    print(b)
    print(c)
my_func('test')
my_func('test', 'test')
my_func('test', 'test', 'test')
print(my_func)
这样称呼它:

def my_func(a, b="b was not entered", c="C was not entered"):
    print(a)
    print(b)
    print(c)
my_func('test')
my_func('test', 'test')
my_func('test', 'test', 'test')
print(my_func)

这要简单得多,并且产生相同的输出

我将尝试给您一些指针,让您自己找到正确的答案

首先,为什么要用字符串列表作为参数而不是字符串来调用函数。只传递字符串将简化您的函数


其次,当您为
b
c
参数指定默认值时,您可以使用您想要的任何值,包括字符串。这将进一步简化您的功能。

代码缺少意图。你还忘了提到你为什么把这个贴在这里。你应该问一个具体的问题,而不是让我们做你的家庭作业。完成这项作业你需要知道什么?