加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

Python第一天 - 函数

发布时间:2020-12-20 10:11:39 所属栏目:Python 来源:网络整理
导读:---恢复内容开始--- (一)定义一个函数 def 函数名(参数): 函数体 return 返回值 例: def mySum(x,y): return int(x)+int(y) print(mySum(1,2)) 如果没有return语句,函数执行完毕后也会返回结果,只是结果为 None。也可以写成return (二)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


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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读