封装 > 就是将常用的代码块封起来并收藏起来, 便于以后调用 (封装起来的代码块就是函数)
函数, 一句话讲, 就是将我们开发完成的独立的代码封装到一个又一个独立的函数中, 以后再碰到类似的需求, 就不需要重复编写了.
所有的代码都被封装到了函数中
点击加号, 全部收起
函数调用演练步骤:
导入工具包格式: import 工具包名
使用格式: 工具包名字.函数名
函数的定义格式:
直接运行定义好的函数, 控制台不会有任何的输出
注意:定义好函数之后, 只表示这个函数封装了一段代码而已, 如果不主动调用函数, 函数是不会主动调用执行的
函数名后面加上一对小括号, 就可以调用函数
注意:函数定义的代码必须再函数调用的代码上方(函数必须先定义再调用)
step into(单步进入): 进入函数, 单步执行函数内部的代码
step over(单步越过): 将函数调用看作是一行代码直接执行
函数的文档注释:
PEP8 是python官方专门针对python的代码风格提供的一篇文档
注意:因为函数体相对比较独立, 所以在函数定义的上方, 函数应该和其他的代码(包括注释)保留两个空行
下面这个提示是告诉我们, 函数是一个非常特殊的代码, 因为定义完函数之后, 并不会立即执行, 为了保证阅读代码的清晰, 应该再函数定义上方, 保留两个空行, 否则pycharm就会发出以下提示
在第5行和第6行增加两个回车之后, 提示就没有了
但是这样做会使函数的注释和函数之间有两个空行的距离, 在阅读的时候就非常不方便了, 所以应该换一种方式来编写函数的注释,
文档注释的正确书写格式:把光标放在函数名的下方, 增加一个缩进, 然后连续输入三个引号(多行注释), 把函数的说明写在三个引号的内部, 这就是python中专门给函数增加文档注释的一个格式
查看函数中文档注释的方式
第18行在调用函数, 如果在调用函数的时候想知道函数到底在干什么,
先把光标放在第18行, 然后选择菜单中的view(查看), 再选择 Quick Docementation(快速文档), 对应的快捷键是Ctrl + Q, 点击之后, 会弹出一个小窗口, 这个小窗口会告诉我们函数到底在干什么
在编辑区域的任意空白处点击一下光标, 小窗口就消失了
添加文档注释的小技巧:
将光标放在函数名中间, 等到出现黄色的小灯泡, 选中 Insert documentation string stub(插入文档注释)
已经插入了, 就没有Insert documentation string stub 的选项了
Ctrl+Q >
函数参数的使用:
在传递函数名后面的小括号内部, 用逗号分隔的方式, 把两个数字依次填写上
案例:
可以计算任意两个数字的相加,因为需要计算的数字都是通过外部来传递的
断点测试:
参数的作用:
实参和形参:
函数的返回值:
使用return关键字, 把需要返回的结果放在return后面就可以了
接收函数返回结果的格式: 变量 = 函数名(形参1, 形参2)
实例:
虽然有返回值, 但函数调用一方并没有接收这个返回结果, 故控制台没有任何输出
应使用变量来接收函数执行的返回结果, 然后使用print 函数打印出来, 才能看到结果
return关键字的注意事项:
在return result 后面按下回车, 会直接跳转到下一行的顶格,这表明pycharm发现有return关键字之后, 会认为这个函数已经结束了,所以按下回车, pycharm不会帮我们增加4 个空格的缩进
如果把光标放在result = num1 + num2 的后面 ,按下回车, 会在下一行自动缩进4个空格, 与上一行垂直对齐,这表明pycharm认为函数还没有编写完成,
提示我们这段代码不能被到达, 函数执行到return之后,就会返回到调用函数的位置, 而在return 下方的代码都不会被执行,
函数的嵌套调用
实例
执行流程
函数嵌套的演练:
char 表示一个字符, 可作为形参传递一个字符
打印任意次数的分割线:
打印多条分割线
多行>使用while 循环
在循环里调用打印单行任意字符,任意次数分割线的函数