Python第一天 - 函数

前端之家收集整理的这篇文章主要介绍了Python第一天 - 函数前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

---恢复内容开始---

(一)定义一个函数

def 函数名(参数):

  函数

  return 返回值

例:

def mySum(x,y):
  return int(x)+int(y)
print(mySum(1,2))

如果没有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)
print (x,y) ======> 151.961524227 70.0
这只是一种假象,Python函数返回的仍然是单一值:
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


---恢复内容结束---

猜你在找的Python相关文章