开发者学堂课程【Python入门 2020年版:函数调用函数】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/639/detail/10329
函数调用函数
内容介绍
一、函数调用函数
二、函数调用函数练习
一、函数调用函数
1、函数调用函数的用法,大家要知道,函数调用函数是怎么样一个情况,
def test1():
print
( 'test1开始了')
print
( 'test1结束了')
def test2():
print
( 'test2开始了')
test1()
print
( 'test2结束了')
有两个函数,问大家一个问题,代码运行之后,大家觉得会打印什么?
运行结果:
什么都不会打印,有的同学会问,test1不是被调用了嘛?
注意 test1被调用,test1被 test2调用,但是 test2并没有被调用,函数没有被调用就不会运行。
如果现在写成:test2()
运行结果:
Test2开始了
Test1开始了
Test结束了
Test2结束了
2、断点调试
断点调试还是很有用的,断点调试之前用过了,但是没有用完,那么用完时怎么样的。
点击 Debug 进行函数调试,代码停至第十二行,因为所有的代码都是从第十二行开始的。test1跟test2都没有自动调用,都是从 test2开始调用。
那么左下方小方框中小东西都是用来干什么的,我们需要知道。有些开发工具中都没有断点调试这个功能,
图中小红方框为运行到下一断点。
如果将print(‘test开始了’),print(’test2结束了’)
两个断点都去掉,运行一下会发生什么结果,
运行结果:
直接跳到了print(’test1开始了’)
这个断点,就直接跳到下一个断点,并非下一步,如果是下一步,应该直接跳到 test2,如果没有下一个断点,就运行结束。
绿色向右下的箭头为下一步,test2开始了点击下一步是运行到第二行还是第九行,Test2()到 print(’test2开始了’)为下一步,再下一步为 print(’test2结束了’)跳过上个函数,点击stepinto 可以进入上个函数,就进入上个函数,点击下键就跳出该函数。
如果想进入函数,可以点击 step into 进入函数,可以在函数中运行下一步,如果出来可以点击 step out 可以跳出函数。
二、函数调用函数练习
1.#定义函数求n~m之间所有整数之和
Def add(n,m):
X=0
For I in range (0,101):
X+=i
Return x
这个求得是0-100的和,那么n-m如何计算,
X=0
For I in range (n,m):
X+=i
Result =add(0,101)
Print(result)
运行结果:5050
2.①#求一个n的阶乘
Def factorial(n)
X=1
For i in range (1,n+1)
X *=i
,
Return x
计算一下5的阶乘
Print(factorial(5)) #1*2*3*4*5
提高难度,要乘到n,n的阶乘要包含到n,初始化的值是多少,应该是1,不能为0,因为初始化的值为0以后,0乘以任何数都是0.
运行结果:125
②#计算m阶乘的和 m=6 ==>1!+2!+3!+4!+5!+6!
Def fac-sum(m):
X=0
For I in range(1,m+1)
:
X最先开始的值是1,从1开始,然后到m,
X+=factorial(i)
Return x
Fac -sum(5) #1+2+3+4+5
这是求和,那么求阶乘怎么做
Fac -sum(5) #1!+2!+3!+4!+5!
以前加的是数字,但是现在加的不能是数字,只要把数字的阶乘加上去,这样就能计算前五项阶乘的数字之和。
Print(m)
运行结果:153