资源简介 (共15张PPT)Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.少儿编程课函数进阶无参函数的定义和使用计算机中的函数是这样的:=如果:那么:函数的好处:代码复用,减少重复劳动(写的时候省事儿,改的时候也省事儿)=下面我们就来看一下Python中的函数的定义和使用密封线内不准答题先来看一个练习:输出3遍Hello输出5遍World输出4遍Hello输出5遍World输出3遍Hello输出3遍World这个有很多种解决方案,比如使用n多个print,这也是最麻烦的方法1利用循环,我们可以避免了重复性的printfor x in range(3):print('Hello')for x in range(5):print('World')for x in range(4):print('Hello')for x in range(5):print('World')for x in range(3):print('Hello')for x in range(3):print('World')2利用方法,我们则可以避免重复性的使用循环# 函数print_hello的定义def print_hello():for x in range(3):print('Hello')# 函数print_world的定义def print_world():for x in range(5):print('World')# 函数print_hello的使用print_hello()# 函数print_world的使用print_world()for x in range(4):print('Hello')# 函数print_world的使用print_world()# 函数print_hello的使用print_hello()for x in range(3):print('World')有参函数的定义和使用我们还可以定义有参的函数,进一步优化这个过程1现在函数print_hello的定义是这样的2定义形式参数后,函数的调用也放生了变化# 函数print_hello的使用print_hello(3)print_hello(5)def print_hello():for x in range(3):print('Hello')想打印任意多个(比如n)次的Hello,可以这样:def print_hello():for x in range(n):print('Hello')但是这样会有语法问题,要想使用n,就要先定义:def print_hello(n):for x in range(n):print('Hello')此时函数定义上的参数n就成为形式参数与形式参数对应,这里的3、5称为实际参数3此时程序就变成了这样:def print_hello(n):for x in range(n):print('Hello')def print_world(n):for x in range(n):print('World')print_hello(3)print_world(5)print_hello(4)print_world(5)print_hello(3)print_world(3)另外,函数中的参数还可以多个1比如我们定义一个打印字符串的函数:2这样,程序就变成了这样:def print_str(n, s):for x in range(n):print(s)此时调用时,就需要对应形参传入2个实参:print_str(3, 'Hello')# 函数print_hello的定义def print_str(n, s):for x in range(n):print(s)# 函数print_str的调用print_str(3, 'Hello')print_str(5, 'World')print_str(4, 'Hello')print_str(5, 'World')print_str(3, 'Hello')print_str(3, 'World')Python中的形参,不仅可以是一个变量,还可以是一个赋值语句,表示默认参数1比如我们将print_str改成这样:2如果需要,可以指定多个默认参数此时就表示s默认为Hello,也即s不传参是就表示Helloprint_str(3)def print_str(n, s='Hello'):for x in range(n):print(s)输出结果:HelloHelloHellodef print_str(n=3, s='Hello'):for x in range(n):print(s)此时就有两个默认参数了print_str()输出结果:HelloHelloHello最后,不仅形参可以是赋值语句,实参也可以,表示关键字参数1我们改造print_str如下:2当然,这些参数可以配套使用这里的**kw就是关键字参数,它允许使用时传入赋值语句,也即键值对,也可以直接传入一个dictdef print_str(n, s, **kw):for x in range(n):if kw.get('filter') == 'upper':print(s.upper())elif kw.get('filter') == 'lower':print(s.lower())else:print(s)print_str(3, 'Hello', filter='upper')def print_str(n, s='Hello', **kw):for x in range(n):if kw.get('filter') == 'upper':print(s.upper())elif kw.get('filter') == 'lower':print(s.lower())else:print(s)fileter_dict = {'filter': 'upper'}print_str(3, 'Hello', **fileter_dict)函数的返回值最后,我们来看看函数的返回值1定义函数,可以计算任意两个数的相加之和:2此时可以用变量接收函数的返回def get_sum(a, b):return a + b# 函数使用return返回了计算结果# 在使用函数时就可以赋值给一个变量# 此时变量就表示计算结果了c = get_sum(2, 5)print(c)d = get_sum(3, 1)print(d)总结Summary函数的定义和使用√函数的位置参数、默认参数、关键字参数√函数的返回值√Thanks! 展开更多...... 收起↑ 资源预览