从小白开始的python笔记五(函数和参数)

函数

现在是函数了!
有那么一类函数,跟C++里的很像,比如abs()
有那么一类函数,我们需要先开一个数据库,然后才能调用ta(math甚至有math.pi)
从小白开始的python笔记五(函数和参数)_第1张图片
有那么一类函数,可以把变量类型转来转去

从小白开始的python笔记五(函数和参数)_第2张图片
还有一个很神奇的操作
从小白开始的python笔记五(函数和参数)_第3张图片
有那么一类函数,我们可以自己定义。
从小白开始的python笔记五(函数和参数)_第4张图片
对于参数数量传递不对的问题,python编译器会告诉我们,而如果类型不对,就van了

从小白开始的python笔记五(函数和参数)_第5张图片

参数

接下来我们说一下自定义函数的参数
当然你可以自己传进去qwq

默认参数

从小白开始的python笔记五(函数和参数)_第6张图片
有多个默认参数时,调用的时候,既可以按顺序提供默认参数,比如调用enroll(‘Bob’, ‘M’, 7),意思是,除了name,gender这两个参数外,最后1个参数应用在参数age上,city参数由于没有提供,仍然使用默认值。

也可以不按顺序提供部分默认参数。当不按顺序提供部分默认参数时,需要把参数名写上。比如调用enroll(‘Adam’, ‘M’, city=‘Tianjin’),意思是,city参数用传进去的值,其他默认参数继续使用默认值。

关于默认参数还有一个非常有意思的事情

从小白开始的python笔记五(函数和参数)_第7张图片
为什么呢?因为L也是一个变量,每次调用该函数,如果改变了L的内容,则下次调用时,默认参数的内容就变了,不再是函数定义时的[]了

从小白开始的python笔记五(函数和参数)_第8张图片

可变参数

从小白开始的python笔记五(函数和参数)_第9张图片
定义可变参数和定义一个list或tuple参数相比,仅仅在参数前面加了一个*号。在函数内部,参数numbers接收到的是一个tuple,因此,函数代码完全不变。但是,调用该函数时,可以传入任意个参数,包括0个参数
从小白开始的python笔记五(函数和参数)_第10张图片
如果已经有一个list或者tuple,我们一个一个弄进去太啰嗦了,直接加 *解决
从小白开始的python笔记五(函数和参数)_第11张图片

关键字参数

从小白开始的python笔记五(函数和参数)_第12张图片

从小白开始的python笔记五(函数和参数)_第13张图片

命名关键字参数

从小白开始的python笔记五(函数和参数)_第14张图片

从小白开始的python笔记五(函数和参数)_第15张图片
使用命名关键字参数时,要特别注意,如果没有可变参数,就必须加一个* 作为特殊分隔符。如果缺少*,Python解释器将无法识别位置参数和命名关键字参数

参数组合

在Python中定义函数,可以用必选参数、默认参数、可变参数、关键字参数和命名关键字参数,这5种参数都可以组合使用。但是请注意,参数定义的顺序必须是:必选参数、默认参数、可变参数、命名关键字参数和关键字参数。

你可能感兴趣的:(学习笔记,python)