初识函数** 本节内容:
1. 什什么是函数
2. 函数定义,函数名,函数体以及函数的调⽤用 3. 函数的返回值
4. 函数的参数
⼀一. 什什么是函数
1. 我们到⽬目前为⽌止, 已经可以完成⼀一些软件的基础功能了了. 那么我们来完成这样⼀一个功
能: 约x:
ok. so easy. 我们已经完成了了对⼀一个功能的描述. 那么问题来了了. 我还想再约⼀一次. 怎么办 呢? 很简单. 再写⼀一次就好了了

print("拿出⼿手机") print("打开陌陌") print("找个漂亮的妹⼦子") print("问她, 约不不约啊?") print("oK. ⾛走你!")

# 约⼀一次 print("拿出⼿手机") print("打开陌陌") print("找个漂亮的妹⼦子") print("问她, 约不不约啊?") print("oK. ⾛走你!")
# 再来⼀一次 print("拿出⼿手机") print("打开陌陌") print("找个漂亮的妹⼦子") print("问她, 约不不约啊?") print("oK. ⾛走你!")
OK. 也很简单. 但是. 我现在还想约. 约个10次8次的. 怎么办呢? 也简单. 加个循环就好了了
哇, 终于可以不停的约了了.但是呢, 想想. 这样写出来的程序. 是不是⼀一直在约? ⼈人啊. 要有节

while 1: print("拿出⼿手机")
print("打开陌陌") print("找个漂亮的妹⼦子") print("问她, 约不不约啊?") print("oK. ⾛走你!")
制. 有需求了了再约, 这样比较好. 所以呢.这样写是不⾏行行的. 最好是我想什什么时候约就什什么时候 约. 好了了. 说到这. 我们可以这样做, 把约会这个事情啊, 先计划⼀一下, 然后呢安排好流程. 在需 要约的时候呢. 把这个约的流程拿出来执⾏行行⼀一下就好了了. 那么这⾥里里.我们可以先去
函数: 对代码块和功能的封装和定义
⼆二. 函数的定义, 函数名, 函数体以及函数的调⽤用 我们使⽤用def关键字来定义函数, 函数的定义语法:
这⾥里里的函数名的命名规则和使⽤用和变量量基本⼀一样.⾃自⼰己回顾⼀一下变量量的命名规则. 函数体: 就是函数被执⾏行行之后要执⾏行行的代码
来我们来定义⼀一个约x功能:
哦了了定义完了了. 但是这个时候去执⾏行行. 会发现什什么都没有发⽣生. 因为我只定义了了⼀一个函数. 但 是还没有执⾏行行过这个函数.
函数的调⽤用: 使⽤用函数名可以调⽤用函数, 写法: 函数名(), 这个时候函数的函数体会被执⾏行行
定义⼀一个事

情或者功能. 等到需要的时候直接去⽤用就好了了. 那么这⾥里里定义的东⻄西就是⼀一个函数.
 
def 函数名(): 函数体

def yue(): print("拿出⼿手机")
print("打开陌陌") print("找个漂亮的妹⼦子") print("问她, 约不不约啊?") print("oK. ⾛走你!")

# 调⽤用yue()函数 yue()
结果:
拿出⼿手机 打开陌陌 找个漂亮的妹⼦子 问她, 约不不约啊? oK. ⾛走你!
看⼀一下执⾏行行过程:

终于可以约了了. 如果我还想约呢? 多次调⽤用就可以了了. 很⽅方便便.
继续分析. 约完了了之后你需要得到⼀一个结果吧. 比如. 约完了了得到了了⼀一个萝莉, 少妇, ⼤大妈. 总得有个结果. 那么这个结果怎么来描述和获得呢? 这个就涉及到函数的返回值的问题.
三. 函数的返回
执⾏行行完函数之后. 我们可以使⽤用return来返回结果.
函数中return的使⽤用:
1. 函数中遇到return,此函数结束,不再继续执⾏行行.

# 调⽤用yue()函数 yue()
yue()
yue()
yue() yue()

def yue(): print("约你")
print("约我") print("约他") return print("约谁呀")
yue()
# 这句句话不不会被执⾏行行
2. 给函数的调⽤用者⼀一个访问结果

def yue(): print("约你")
print("约我") print("约他") return "美⼥女女⼀一枚"
girl = yue() print(girl) # 美⼥女女⼀一枚