a870950142 发表于 2022-10-29 21:28:20

小白小白,你看我有多白?

求三个问题?感谢解答!


def fac(n):
      if n==1
         return 1
      else:
            return n*fac(n-1)
print(fac(6))
我的理解为:第一次执行n(6)*fac(6-1)(5)=30,这个30是放在了哪里呢?第二次是如何计算的嘞?


def fun(a,b=10)
      print(a)
      print(b)
疑惑的是b给了一个值print不可以直接输出吗?为什么没有结果


def calc(a,b):
    c=a+b
    return c
result=calc(10,20)
print(result)      不理解这个30是怎么从c传到result的

感谢!

jackz007 发表于 2022-10-29 21:44:57

本帖最后由 jackz007 于 2022-10-29 21:45 编辑

def calc(a,b):
    c=a+b
    return c
       这是在定义函数 calc(),这个函数接受 2 个输入参数,在函数内,把两个参数相加后,作为结果再传递给函数调用者。函数不会自己执行,是供人调用的。
result=calc(10,20)
print(result)   
       这是在主函数中调用函数 calc(),传入的参数是 10 和 20,并使用变量 result 来接受函数的返回值,这样,在 calc() 调用结束的时候,计算结果 30 就被传递到了 result 中。

a870950142 发表于 2022-10-29 21:51:17

jackz007 发表于 2022-10-29 21:44
这是在定义函数 calc(),这个函数接受 2 个输入参数,在函数内,把两个参数相加后,作为结果再传 ...

result的作用一是做变量名,二是接收传递的结果,可以这样理解吗?

jackz007 发表于 2022-10-29 21:52:30

a870950142 发表于 2022-10-29 21:51
result的作用一是做变量名,二是接收传递的结果,可以这样理解吗?

         是的,变量就是为了用来保存不同的数据的。
页: [1]
查看完整版本: 小白小白,你看我有多白?