美文网首页
python中的函数使用

python中的函数使用

作者: 流逝_a443 | 来源:发表于2018-10-10 19:32 被阅读0次

1.深拷贝和浅拷贝

a.什么是拷贝?

将变量中的值赋值一份,产生新的数据,然后将新的数据对应的地址返回。

b.浅拷贝

直接拷贝地址

c.深拷贝

将地址对应的值拷贝,产生新的地址


image.png

2.字典和列表的应用

说明:列表的元素和字典的值可以是任何类型的数据

1.列表中有字典

image.png
image.png

2.字典中有列表

写一个程序,保存一个班级的信息,
包含班级名,位置,所有学生(学生中需要保存名字,年龄和学校)


image.png

练习:在班级中添加一个学生,姓名:老王, 年龄:40, 学校:北大青鸟

image.png

删除班里小于30岁的学生


image.png

3.函数的声明

说明:函数就是对实现某一特定功能代码段的封装
分类:自定义函数(程序员声明实现其功能)和内置函数(系统已经声明实现完成)

1.声明函数的语法

def 函数名(参数列表):
函数体

说明:
a.def ---->python中声明函数的关键字
b.函数名----->标识符,不能是关键字,遵守PEP8命名规范(所有字母小写多个单词用下划线隔开)
见名知义(看见名字就知道函数的功能)
c.() ----->固定写法
d.参数列表---->形参列表,参数名1,参数名2,....
可以有多个函数,也可以没有
参数是用来从函数外部给函数里面传值得
e. : ---->固定格式
f.函数体--->就是实现函数功能的代码段

2.初学者声明函数的步骤

a.先确定函数的功能
b.根据功能确定函数名
c.确定参数:确定有没有,确定有几个(看实现函数的功能需不需要从函数里面传值,需要传几个)
d.实现函数的功能
e.确定返回值

3.函数的调用

声明函数的时候,不会执行函数体,函数体自由在函数调用的时候才会执行

函数名(实参列表)

说明:
函数名 --->必须是已经声明过的变量的函数
() --->固定写法
实参列表 ----->数据1,数据2.....
用来给形参赋值
实例:


image.png

4.函数的调用

1.格式

函数名(实参列表)

2.函数的调用过程(重点!!!!)

第一步:回到函数声明的位置
第二步:把实参赋值给形参(传参:一定保证每个参都有值)
第三步:执行函数体
第四步:返回返回值---->返回给函数调用表达值
第五步:执行完函数体回到函数调用的位置,接着执行后面的代码


image.png

5.函数的参数

1.位置参数和关键参数

根据调用函数
位置参数:按照实参的顺序一一给形参赋值
关键字:形参1=值1,形参2=值2...


image.png

2.默认值

函数声明的时候可以给参数设置默认值,但是有默认值的参数必须放在参数后面
有默认值的参数,在调用的时候不用传参


image.png

3.不定长参数

参数不确定的时候,可以形参前面加*,将这个形参变成一个元祖,用来接收多个参数
注意:如果函数有多个参数,那么不定长的参数要放在后面


6.函数的返回值

函数的返回值就是函数调用的表达式的值,就是return关键字后面的表达式的值
python中所有的函数值都是返回值,返回值默认是None
执行函数体没有遇到return,函数的返回值就是None;遇到return函数,返回值就是return后面的值

函数调用表达式 --->调用函数的语句(函数名(实参))
return ---->只能写在函数体中,用来返回返回值和结束函数
注意:看一个函数的返回值,只看有没有遇到return,只要没有遇到就是None,遇到就是return后面的值


image.png

情况二:有return
'''
中兴好书的时候,一旦于丹return,函数就直接结束,并且把return后面的结果作为返回值
注意:并不是只要函数中有retrun,函数的返回就是return后面的值


image.png
image.png
如果是先函数的功能会产生新的数据,就将新的数据返回。如果不会产生新的数据就不用返回
image.png
image.png
image.png

4.函数的调用

1.补充:python中的函数可以有多个返回值

练习:求多个数和的平均值


image.png

2.函数的调用过程是一个压栈的过程

每次调用函数的时候,系统都会在内存中(栈)开辟空间来存储函数执行过程中产生数据(函数中声明的变量)。
当函数调用完成后,这块内存会自动销毁。

5.递归函数

相关文章

网友评论

      本文标题:python中的函数使用

      本文链接:https://www.haomeiwen.com/subject/muqmaftx.html