py函数两个返回值_python的函数

上节课的补充

字典的键(key) 和集合的值都是唯一的,如果插入相同的会进行替换

7ccdfbaf1f8b477091de05071eefdbcb.png

函数

c7659c1d4a418fbcd6c72241e0a28ded.png
dbd4292ce166c16ac23d342873f50b8d.png

它可以解决两个问题

1.重复性

2.封装

定义函数语法格式

def + 函数名 + () +:

封装的代码(调用函数执行的代码)

调用函数语法格式

函数名+()

2b6de01fea968f6bfedbe9bdb9465c5a.png

光定义是没有用的,要调用出来才行

函数有两种状态

1.有返回值:执行封装的代码,并返回 return关键字后面的内容(如果以后还要对某个数据继续操作,就需要有返回值)

466c42770430df09b91849462003d786.png

2.没有返回值:执行封装的代码?

68c2f76fd003cf0f26a1a01d69742423.png

参数:我们会把需要改变的值,或者可能改变额值,不一样的值定义为参数(本质就是变量) ,写在() 里面

python函数种主要有三种参数,必备参数、默认参数、不定长参数。

其中不定长参数有元组和字典两种类型

必备参数:直接写变量名就是必备参数

3d5de67a86675aa4f58656d7239fb70e.png

默认参数:具有默认值的参数,不写就是默认值

f2f6414535c89bec6ece31cbccdad04d.png
37a47fa4739e2017cfefd0b644291f81.png

不定长参数:可以传入任意个数的值

元组:*+参数名或者(args),会讲传入的参数放入元组

1b48c0b741cb5deefc81ec9f10834d00.png

字典:**+参数名(kwargs) ,会将传入的参数放入字典,字典只能放在最后,要不然会报错

f3582b5777ec6f41b74ad2fc96415708.png
4b1f85f4465643f4db79b986a203d161.png

注:1.调用时不用+*

2.除字典外其他不定长参数只能放在最后,要不然容易报错

3.函数顺序有讲究,先是必备参数,然后默认参数,再是不定长参数不定长参数也先是元组再是字典

46a6cdf0a1e6616922ffb8a0d0d98aa6.png

文档功能:因为python是团队开发,所以会有很多人使用,当你写的代码别人不懂时,文档功能可以帮忙查询,这样回方便很多

使用方式是-> + None(没有返回值) 或者+返回值类型(int,str,bool等等)

e996356520b44c90032398d9d6503dde.png

函数的作用域

5b5396d745f4f42245aa0dabfc45b39d.png

函数内部内部可以访问外部的变量,但不能修改(不能修改不可变对象的值,但能修改可变量的值)

450884fc8a0064e091a421d88eedea3a.png

但函数内部定义的变量,外部不能使用

0bd9b3942a290930606a8ab55283939a.png

外部的变量叫全局变量,函数内部的变量叫局部变量

函数的作用域—全局作用域

f9975719d204aa71d76a40c2cde2832f.png

如果想在函数中改变外部不可变对象变量的值,就需要在函数里面使用global关键字了

注意:函数内外名字要一致,否则就会变成一个新的变量

global是全局变量声明,在使用global后可以在整个py文件中使用

函数作用域—局部作用域

d0f7266fec29188e56c4a950fda0c23d.png

如果在嵌套函数中,就不能使用global关键字了,要不然就会报错,。这种情况我们要使用nonlocal关键字

函数作用域—闭包

0c19718b9b7a9d6e17e6a1d119e4b4ab.png

闭包就是为了防止函数被随意修改,用一个函数把它保护起来。主要就是可以在外面修改函数里面的值

91f81092c6828d13819fc876584808b0.png

递归和匿名函数

e1b16c3320c2b4928270ed7d275a8c46.png

递归:方法自己调用自己

就像while循环,需要条件控制,要不然就会一直循环

48e4be6de438c91dd306151789f86c53.png

求阶乘(5的阶乘就是1*2*3*4*5)

26e26a7955eb2d255d46bc2f8b225bc3.png

补充

注:return有两个方法,第一个作用是结束循环,第二个作用是返回我们想要的值

匿名函数:没有函数名的函数

8803645b5ea803f48311424139c1b687.png

语法规lambda+参数+,+参数+执行内容,然后用print输出

d5ce959b41eaa81a445dc16f225d3f45.png

跟三元运算一样,好处是简洁了,坏处是可读性降低了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值