a870950142 发表于 2022-10-30 14:17:13

定义函数的名称为什么不可以直接输出呢?

def fun(a,b):
   pass
print(fun)

jackz007 发表于 2022-10-30 14:24:22

本帖最后由 jackz007 于 2022-10-30 14:33 编辑

      你想输出什么,怎么输出,请问?
      函数只是一个工具,是供人使唤的,就像一把螺丝刀,你当然只是希望它可以帮助你拧螺丝就可以了,并不会希望它越俎代庖吧?函数也是,只需要把人们安排给他的工作做好悄悄返回结果就好,至于需不需要打印结果,那是主人需要考虑和决定的事情,这样,这个函数就更加具有通用性,可以供很多场合满足不同的需要而使用。
      咱们人类不也一样吗,作为下属,你只需要把属于自己的工作做好,至于宣扬功劳那是领导的事情。

wp231957 发表于 2022-10-30 14:34:27

>>> def fun(a,b):
...    print(a,b)
...
>>> fun(5,"SA")
5 SA
>>> def fun(a,b):
...   return a*b
...
>>> print(fun(6,7))
42
>>>

hrpzcf 发表于 2022-10-30 14:50:21

本帖最后由 hrpzcf 于 2022-10-30 14:57 编辑

函数对象并没有重写__str__或者__repr__方法,你直接print它只会以默认方法打印函数内存地址。如果想打印函数名,你得这样def abc(a, b):
    pass

print(abc.__name__)

a870950142 发表于 2022-10-30 16:29:47

jackz007 发表于 2022-10-30 14:24
你想输出什么,怎么输出,请问?
      函数只是一个工具,是供人使唤的,就像一把螺丝刀,你当然只 ...

是我的理解有误,刚学python,还在以将值赋给一个变量名的逻辑去理解这个fun(a,b)
使用def定义了一个叫fun名字函数,而在fun以下的内容是在fun内当中执行的内容,最终将结果返回了fun,那这样理解没错吧?

jackz007 发表于 2022-10-30 16:48:46

本帖最后由 jackz007 于 2022-10-30 16:51 编辑

a870950142 发表于 2022-10-30 16:29
是我的理解有误,刚学python,还在以将值赋给一个变量名的逻辑去理解这个fun(a,b)
使用def定义了一个 ...

       fun() 是供调用的,就是说,它只是在被调用的时候才会被执行,在函数内,它接受 2 个输入参数 a 和 b,相当于函数的自变量,然后,计算出一个函数值,通过 return 反馈给函数调用者,就像 t = sin(pi // 6) ,用 pi // 6 作为参数调用函数 sin(),并使用变量 t 接受函数的返回值,那么,调用过后,t 的值是 0.5,就是函数 sin() 用 return 反馈回来的
页: [1]
查看完整版本: 定义函数的名称为什么不可以直接输出呢?