查看“Python函数的基本使用”的源代码
←
Python函数的基本使用
跳转至:
导航
,
搜索
因为以下原因,您没有权限编辑本页:
您所请求的操作仅限于该用户组的用户使用:
用户
您可以查看与复制此页面的源代码。
==问题引出== 我们之前调用的这些简介的代码,他们有一个共同的名字叫什么 ? *函数 描述 *abs(x) x的绝对值 *divmod(x,y) *pow(x,y) x的y次幂 *round(x,n) x四舍五入,保留n位小数 *max(x1,x2,...,xn) x1,x2,x3,...xn的最大值 *min(x1,x2,...,xn) x1,x2,x3,...xn的最小值 *abs(x): 求绝对值 <nowiki>>>> x,y = 9,2 >>> abs(x) 9 >>> abs(-x) 9</nowiki> *divmod(x,y):获得除法的商和余数 <nowiki>>>> x,y = 9,2 >>> divmod(x,y) (4, 1)</nowiki> ==函数是什么== 函数是一段具有特定功能的、可重用的语句组,通过函数名来表示和调用。 经过定义,一组语句等价于一个函数,在需要使用这组语句的地方,直接调用函数名称即可。 *将可能需要反复执行的代码封装为函数,并在需要该功能的地方进行调用,不仅可以实现代码复用,更重要的是可以保证代码的一致性,只需要修改该函数代码则所有调用均受到影响。 *设计函数时,应注意提高模块的内聚性,同时降低模块之间的隐式耦合。 *例1:群发祝福 <nowiki>def happy(): print("Happy birthday to you!") def happyTo(name): print("Happy birthday, dear {}!".format(name)) happy( ) happyTo("Mike") print() happyTo("Lily")</nowiki> ==函数的定义== 函数的使用包括两部分:'''函数的定义'''和'''函数的调用'''。 函数是一种功能抽象。 ===语法=== 函数定义语法: <nowiki>def <函数名>([参数列表]): '''注释''' <函数体> return <返回值列表></nowiki> *函数名:可以是任何有效的Python标识符 *参数列表:是调用该函数时传递给它的值,可以有零个、一个或多个,当传递多个参数时各参数由逗号分隔,当没有参数时也要保留圆括号。 *函数体:是函数每次被调用时执行的代码,由一行或多行语句组成。 *[[文件:java2-4.png]] 如果需要返回值,函数体中使用保留字return返回值。函数可以没有return语句,函数体结束 后会将控制权返回给调用者。 例:汇率计算器 <nowiki> def DolConvert(Num): Num =eval(Num); Dollar =Num /6; return Dollar if __name__ == '__main__': Num = input("请输入人民币值: ") result = DolConvert(Num) print("能兑换的美元为:",result)</nowiki> ====拓展:if __name__ == '__main__':的作用==== 一个python文件通常有两种使用方法,第一是作为脚本直接执行,第二是 import 到其他的 python 脚本中被调用(模块重用)执行。因此 if __name__ == 'main': 的作用就是控制这两种情况执行代码的过程,在 if __name__ == 'main': 下的代码只有在第一种情况下(即文件作为脚本直接执行)才会被执行,而 import 到其他脚本中是不会被执行的。 练习:编写函数,给定两个直角边a,b的长度,计算斜边的长度。 练习:编写函数,求三个数a,b,c之间的最大值, ===函数设计的原则=== *设计函数时,应注意提高模块的内聚性,同时降低模块之间的隐式耦合。 ===函数的参数=== 参数列表:是调用该函数时传递给它的值,可以有零个、一个或多个,当传递多个参数时各参数由逗号分隔,当没有参数时也要保留圆括号。 <p>注意:</p> *函数形参不需要声明类型,也不需要指定函数返回值类型 *即使该函数不需要接收任何参数,也必须保留一对空的圆括号 *括号后面的冒号必不可少 <nowiki>def multiply(x,y = 10): return x*y s = multiply(99,2) print(s) </nowiki> ===函数体=== 函数体:是函数每次被调用时执行的代码,由一行或多行语句组成。 函数体相对于def关键字必须保持一定的空格缩进 Python允许嵌套定义函数 函数体中可能存在return语句。函数执行结束后,根据return保留字的指示决 定是否返回结果,如果返回结果,则结果将被放置到函数被调用的位置,函数使用完毕,程序继续运行。 编写并调用函数,计算1*2*3*...*n的阶乘 编写并调用函数 ,计算 n*(n+1)*...*m的值,其中n<m 关于return语句: *在Python中,定义函数时也不需要声明函数的返回值类型,而是使用return语句结束函数执行的同时返回任意类型的值,函数返回值类型与return语句返回表达式的类型一致。 *return语句用来结束函数,不论return语句出现在函数的什么位置,一旦得到执行将直接结束函数的执行。 *更多关于return语句,可以参考:[[Python函数的返回值]] <nowiki>#寻找10~100的第一个“倒序数" def revert( ): for i in range(10,100): a = i //10 b = i %10 print(a,b) if a==b : return i print("没有倒序数") return 0 s = revert( ) print("10,100之间的倒序数为:",s)</nowiki> 函数也可以没有return: ==函数的调用== 通过函数名调用函数功能,对函数的各个参数赋予实际值,称为函数的调用。 实际值可以是实际数据,也可以是在调用函数前已经定义过的变量。 *程序调用一个函数需要执行以下四个步骤。 1.调用程序,在调用处暂停执行。 2.在调用时将实参复制给函数的形参。 3.执行函数体语句。 4.函数调用结束后给出返回值,程序回到调用前的暂停处,继续执行。 *例1:生日歌;例2:汇率计算器 *'''问题解决''':编写生成斐波那契数列的函数并调用。 *[[文件:java2-4.png]] *在定义函数时,开头部分的注释并不是必需的,但如果为函数的定义加上注释的话,可以为用户提供友好的提示。 例题(二级真题):两点间距离公式常用于函数图形内求两点之间距离、求点的坐标的基本公式,是距离公式之一。两点间距离公式叙述了点和点之间距离的关系。 设两个点A、B以及坐标分别为[[文件:python10-1003.png]],则A和B两点之间的距离为: [[文件:python10-1002.png]] 请输入4个数字(用空格分隔),分别表示x1、y1、x2、y2, 计算距离(保留2位小数输出)。 参考编程模板,参考输入输出示例,完善程序。 输入输出示例 <nowiki>输入 输出 示例 1 1 2 3 4 2.83 示例 2 1 1 2 2 1.14</nowiki> 代码: <nowiki>def distance(x1,y1,x2,y2): d1 = pow(x1-x2,2); d2 = pow(y1-y2,2); d = pow(d1+d2,1/2) return d #(1,2),(3,4)两点间距离 print(distance(1,2,3,4))</nowiki> 例:阶乘函数的调用 <nowiki>#1*2*3*....*n def jiecheng(Num): s =1 for i in range(1,Num+1): s *= i return s #n*(n+1)*...*m def jiecheng2(n,m): if n>m: n,m =m,n s =1 for i in range(n,m+1): s *= i return s def jiecheng3(n,m): s1 =jiecheng(m) s2 =jiecheng(n-1) s =s1/s2 print(s) if __name__ == '__main__': #n = eval(input("请输入一个数:")) jiecheng2(3,5) jiecheng3(3,5)</nowiki> 练习:设计一个由美元兑换人民币的函数 思考:在求和的函数中,如何使求和的步长值也变为可自定义的? ==练习== 编写并调用函数,计算1*2*3*...*n的阶乘 编写并调用函数 ,计算 n*(n+1)*...*m的值,其中n<m 思考:在求和的函数中,如何使求和的步长值也变为可自定义的? 编写函数,求三个数a,b,c之间的最大值,
返回至
Python函数的基本使用
。
导航菜单
个人工具
登录
命名空间
页面
讨论
变种
视图
阅读
查看源代码
查看历史
更多
搜索
导航
首页
最近更改
随机页面
帮助
工具
链入页面
相关更改
特殊页面
页面信息