发布于: 2023-8-27最后更新: 2023-10-9字数 00 分钟

type
status
date
slug
summary
tags
category
icon
password
程序中反复执行的某些代码,我们可以将它们封装成函数。
函数具有函数名参数返回值
Python的函数很灵活:
  1. 可以在模块中但是类之外的定义,作用域是当前模块,我们称之为函数
  1. 也可以在别的函数中定义,我们称之为嵌套函数
  1. 还可以在类中定义,我们称之为方法

1 定义

如果没有数据返回可以省略return语句
由于定义函数时的参数不是实际数据,会在调用函数时传递给它们实际数据,所以我们定义函数时的参数为形式参数,简称形参;称调用函数时传递的实际数据为实际参数,简称实参
示例代码如下:
 

2 调用

2.1 位置参数

在调用函数时传递的实参与定义函数时的形参顺序一致,这是调用函数的基本形式。

2.2 关键字参数

在调用函数时可以采用“关键字=实参”的形式,其中,关键字的名称就是定义函数时形参的名称。
👉
使用关键字参数调用函数时,调用者能够清晰地看出所传递参数的含义,提高函数调用的可读性。

3 参数的默认值

C++中可以定义多个同名函数,但是参数列表不同,这样在调用时可以传递不同的实参,使用起来非常方便,Python中是否也有函数重载的概念?
函数重载会增加代码量,所以在Python中没有函数重载的概念,而是为函数的参数提供默认值实现。

4 可变参数

Python中的函数可以定义接收不确定数量的参数,这种参数被称为可变参数

4.1 元组可变参数

*可变参数在函数中被组装成一个元组。

4.2 字典可变参数

**可变参数在函数中被组装成一个字典

5 函数变量作用域

变量可以在模块中创建,作用域(变量的有效范围)是整个模块,被称为全局变量
变量也可以在函数中创建,在默认情况下作用域是整个函数,被称为局部变量
函数中也可以创建全局变量,需将变量声明为global

6 函数类型

Python中的任意一个函数都有数据类型,这种数据类型是function,被称为函数类型。
函数类型的数据与其他类型的数据是一样的,任意类型的数据都可以作为函数返回值使用,还可以作为函数参数使用。因此,一个函数可以作为另一个函数返回值使用,也可以作为另一个函数参数用。
 

6.1 过滤函数

过滤函数(filter())用于对容器中元素进行过滤处理,语法如下:
参数function是提供一个过滤条件的函数,返回布尔值。
参数iterable是容器类型的数据。
调用filter()函数时,iterable会被遍历,它的元素会被逐一传入function()函数中。function()函数若返回True,则元素被保留;否则元素被过滤。最后遍历完成,已保留的元素被放到一个新的容器数据中。
 

6.3 映射函数

映射函数(map())用于对容器中的元素进行映射(或变换),语法如下:
参数function是提供一个变换规则的函数,返回变换之后的元素。
参数iterable是容器类型的数据。
调用map()函数时,iterable会被遍历,它的元素会被逐一传入function()函数中。在function()函数中对元素进行变换。

7 lambda函数

Python中能否定义匿名函数,即没有名称的函数?
在Python中使用lambda关键字定义匿名函数。lambda关键字定义的函数也被称为lambda()函数,语法如下。
“参数列表”与函数的参数列表是一样的,但不需要用小括号括起来.
lambda()体部分不能时一个代码块,不能包含多条语句,只有一条语句,语句会计算一个结果并返回给lambda()函数,与有名称的函数不同的是,不需要使用return语句返回。
示例1:
示例2:

8 函数注解

在Python中,->符号用于函数注解(function annotation),它表示函数的返回类型。函数注解是在函数定义中对参数和返回值进行类型提示的一种方式,可以提供更多的代码可读性和文档说明。
下面是一个示例代码,演示了如何使用->来注解函数的返回类型:
在上面的示例代码中,add_numbers函数定义了两个参数 a 和 b,它们都被注解为 int 类型。-> int 表示该函数返回一个整数类型的值。
通过使用函数注解,我们可以清楚地指定函数的参数类型和返回类型。这对于代码的可读性和类型检查工具(如静态类型检查器)非常有用。然而,需要注意的是,函数注解只是一种提示,并不会在运行时进行类型检查或强制执行。它们主要用于文档和代码维护的目的。

Python-封装自己的PyPi包
Python-封装自己的PyPi包
公告
type
status
date
slug
summary
tags
category
icon
password
🎉欢迎体验 ChatGPT Next 🎉