Python第一天 - 函数
---恢复内容开始--- (一)定义一个函数 def 函数名(参数): 函数体 return 返回值 例: def mySum(x,y): 如果没有return语句,函数执行完毕后也会返回结果,只是结果为 None。也可以写成return (二)python函数可以返回“多个值”(其实是个集合) 比如在游戏中经常需要从一个点移动到另一个点,给出坐标、位移和角度,就可以计算出新的坐标:# math包提供了sin()和?cos()函数,我们先用import引用它 import math def move(x,y,step,angle): nx = x + step * math.cos(angle) ny = y - step * math.sin(angle) return nx,ny 使用这个函数: x,y = move(100,100,60,math.pi / 6) r = move(100,math.pi / 6) print (r)=======>(151.96152422706632,70.0)---只是一个tuple (三)递归函数: 计算阶乘: fact(n): if n==1: return 1 return n * fact(n - 1) 使用递归函数需要注意防止栈溢出。在计算机中,函数调用是通过栈(stack)这种数据结构实现的,每当进入一个函数调用,栈就会加一层栈帧,每当函数返回,栈就会减一层栈帧。由于栈的大小不是无限的,所以,递归调用的次数过多,会导致栈溢出。可以试试计算 fact(10000)。 ? (四)定义可变参数: def func(*params): ... 函数定义成这样之后我们就可以传入任意数量的参数如:func(1,2) ?func(1,2,3) 例: def mySum(*params): sum = 0 for value in params: sum += int(value) return sum print(mySum(1,3)) 打印出6 ---恢复内容结束--- (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |