Python基础day04【函数(定义与调用、文档说明、传参函数、全局变量、返回值、嵌套调用)】
- 视频、源码、课件、软件、笔记:超全面Python基础入门教程【十天课程】博客笔记汇总表【黑马程序员】
Python基础day04【字典】
目录
3.函数
函数的定义和调用
函数定义 PEP8规范
快速按照PEP8规范格式化代码
函数的文档说明
查看函数的文档注释:Ctrl+B
自定义函数文档注释
书写带参数的函数
局部变量
全局变量
返回值
<1>“返回值”介绍
<2>带有返回值的函数
<3>保存函数的返回值
return返回多个数据值
函数返回值解析
函数的嵌套调用
函数应用:打印图形和数学计算
打印图形
数学计算
函数的参数
<1> 定义带有参数的函数
<2> 调用带有参数的函数
<3> 练一练
<4> 调用函数时参数的顺序
<5> 小总结
day04总结
3.函数
print():打印输出
input():输入
len():求容器长度的
...
函数可以实现一个具体的功能。
如果在开发程序时,需要某块代码多次,但是为了提高编写的效率以及代码的重用,所以把具有独立功能的代码块组织为一个小模块,这就是函数。
函数的定义和调用
函数定义 PEP8规范
快速按照PEP8规范格式化代码
函数的文档说明
查看函数的文档注释:Ctrl+B
自定义函数文档注释
书写带参数的函数
好处: 可以使函数代码更加通用,适用更多的场景。
局部变量
- 局部变量的作用域(作用范围): 当前函数的内部。
- 局部变量的生存周期:在函数调用的时候被创建,函数调用结束之后,被销毁(删除)。
- 局部变量只能在当前函数的内部使用,不能在函数的外部使用。
全局变量
- 全局变量:就是在函数外部定义的变量。
- 在函数内部可以访问全局变量的值,如果想要修改全局变量的值,需要使用 global 关键字声明。
返回值
在函数中定义的局部变量,或者通过计算得出的局部变量, 想要在函数外部访问和使用,此时就可以使用 return 关键字,将这个返回值返回。
<1>“返回值”介绍
现实生活中的场景:
我给儿子10块钱,让他给我买包烟。这个例子中,10块钱是我给儿子的,就相当于调用函数时 传递参数。让儿子买烟这个事情最终的目标是,让他把烟给你带回来然后给你。此时烟就是返回值。
开发中的场景:
定义了一个函数,获取室内温度。想一想是不是应该把这个结果给调用者?(是)
只有调用者拥有了这个返回值,才能够根据当前的温度做适当的调整。
综上所述:
- 所谓“返回值”,就是程序中函数完成一件事情后,最后给调用者的结果
<2>带有返回值的函数
想要在函数中把结果返回给调用者,需要在函数中使用return
如下示例:
def add2num(a, b):
c = a+b
return c或者
def add2num(a, b):
return a+b
<3>保存函数的返回值
在本小节刚开始的时候,说过的“买烟”的例子中,最后儿子给你烟时,你一定是从儿子手中接过来。程序也是如此,如果一个函数返回了一个数据,那么想要用这个数据,那么就需要保存。
保存函数的返回值示例如下:
return返回多个数据值
程序代码遇到一个 return 之后,后续的代码不再执行。
1. return 关键字后边可以不写数据值, 默认返回 None。
def func():
xxx
return # 返回 None,终止函数的运行的。
2. 函数可以不写 return,返回值默认是 None。
def func():
xxx
pass
函数返回值解析
函数的嵌套调用
一个函数里面又调用了另外一个函数,这就是所谓的函数嵌套调用。
如果函数A中,调用了另外一个函数B,那么先把函数B中的任务都执行完毕之后,才会回到上次函数A执行的位置。
函数应用:打印图形和数学计算
打印图形
目标
- 感受函数的嵌套调用
- 感受程序设计的思路,复杂问题分解为简单问题
思考&实现1
- 写一个函数打印一条横线
- 打印自定义行数的横线
数学计算
思考&实现2
- 写一个函数求三个数的和
- 写一个函数求三个数的平均值
函数的参数
思考一个问题,如下:
现在需要定义一个函数,这个函数能够完成2个数的加法运算,并且把结果打印出来,该怎样设计?下面的代码可以吗?有什么缺陷吗?
def add2num():
a = 11
b = 22
c = a+b
print c为了让一个函数更通用,即想让它计算哪两个数的和,就让它计算哪两个数的和。在定义函数的时候可以让函数接收数据,这就是函数的参数。
<1> 定义带有参数的函数
示例如下:
def add2num(a, b):
c = a+b
print c
<2> 调用带有参数的函数
以调用上面的add2num(a, b)函数为例:
def add2num(a, b):
c = a+b
print cadd2num(11, 22) # 调用带有参数的函数时,需要在小括号中,传递数据
调用带有参数函数的运行过程:
<3> 练一练
要求:定义一个函数,完成前2个数完成加法运算,然后对第3个数,进行减法;然后调用这个函数。
- 使用def定义函数,要注意有3个参数
- 调用的时候,这个函数定义时 有几个参数,那么就需要传递几个参数
<4> 调用函数时参数的顺序
>>> def test(a,b):
... print(a,b)
...
>>> test(1,2)
1 2
>>> test(b=1,a=2)
2 1
>>>
>>> test(b=1,2)
File "<stdin>", line 1
SyntaxError: positional argument follows keyword argument
>>>
>>>
<5> 小总结
- 定义时小括号中的参数,用来接收参数用的,称为 “形参”。
- 调用时小括号中的参数,用来传递给函数用的,称为 “实参”。
genghongsheng: 提交任务报错org.apache.flink.runtime.client.JobSubmissionException: Failed to submit JobGraph
m0_73995377: 终于看到最想看到的帖子了!!最喜欢这种只给模型类别,有清晰框架的分类了!!
2401_83901230: 链接没了
九方白: 完结撒花,感谢陪伴
九方白: P122,思路二,第3步:Map改MapView,应该是版本问题