Python学习之路-函数进阶

本文详细介绍了Python中的函数特性,包括无/有参数、有无返回值的不同组合,不可变和可变参数的区别,缺省参数的使用和注意事项,多值参数(args和kwargs)以及递归的概念和应用。同时提到了Python内置函数的利用。
摘要由CSDN通过智能技术生成

Python学习之路-函数进阶

参数和返回值的作用

函数根据有没有参数以及有没有返回值,可以相互组合,一共有4 种组合形式:无参数,无返回值;无参数,有返回值;有参数,无返回值;有参数,有返回值。

{{< admonition tip “提示” true >}}

定义函数时,是否接收参数,或者是否返回结果,是根据实际的功能需求来决定的!如果函数内部处理的数据不确定,就可以将外界的数据以参数传递到函数内部。如果希望一个函数执行完成后,向外界汇报执行结果,就可以增加函数的返回值

{{< /admonition >}}

不可变和可变的参数

无论传递的参数是可变还是不可变只要针对参数使用赋值语句,会在函数内部修改局部变量的引用**,**不会影响到 外部变量的引用。如果传递的参数是可变类型,在函数内部,使用方法修改了数据的内容,同样会影响到外部的数据

缺省参数

定义函数时,可以给某个参数指定一个默认值,具有默认值的参数就叫做缺省参数调用函数时,如果没有传入缺省参数的值,则在函数内部使用定义函数时指定的参数默认值。函数的缺省参数,将常见的值设置为参数的缺省值,从而简化函数的调用

{{< admonition tip “提示” true >}}

缺省参数需要使用最常见的值作为默认值!如果一个参数的值不能确定,则不应该设置默认值,具体的数值在调用函数时,由外界传递!

{{< /admonition >}}

缺省参数的注意事项

缺省参数的定义位置

必须保证带有默认值的缺省参数在参数列表末尾

调用带有多个缺省参数的函数

在调用函数时,如果有多个缺省参数,需要指定参数名,这样解释器才能够知道参数的对应关系!

多值参数

定义支持多值参数的函数,有时可能需要一个函数能够处理的参数个数是不确定的,这个时候就可以使用多值参数。python中有两种多值参数:

  • 参数名前增加 一个 * 可以接收元组
  • 参数名前增加 两个* 可以接收字典

一般在给多值参数命名时,习惯使用以下两个名字:

  • *args —— 存放 元组 参数,前面有一个 *

  • **kwargs —— 存放 字典 参数,前面有两个 *

{{< admonition tip “提示” true >}}

argsarguments的缩写,有变量的含义,kwkeyword 的缩写,kwargs 可以记忆键值对参数

{{< /admonition >}}

元组和字典的拆包

在调用带有多值参数的函数时,如果希望:将一个元组变量,直接传递给 args将一个 字典变量,直接传递给 kwargs就可以使用拆包,简化参数的传递,拆包的方式是:在元组变量前,增加一个*在字典变量前,增加两个 *

递归

简介

函数调用自身的编程技巧称为递归

特点

一个函数内部调用自己。函数内部可以调用其他函数,当然在函数内部也可以调用自己

代码特点

  1. 函数内部的代码是相同的,只是针对参数不同,处理的结果不同
  2. 当参数满足一个条件时,函数不再执行

{{< admonition warning “警告” true >}}

这个非常重要,通常被称为递归的出口,否则会出现死循环!

{{< /admonition >}}

{{< admonition tip “提示” true >}}

初次接触递归会感觉有些吃力!在处理不确定的循环条件时,格外的有用,例如:遍历整个文件目录的结构

{{< /admonition >}}

内置函数

Python 解释器内置了很多函数,可以在任何时候使用,在这里查看具体包含哪些与使用方法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

geobuins

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值