更多课程 选择中心


Python培训

400-996-5531

Python学习之路-函数知识点


函数是一个有组织的,可重复使用的代码块,Python中有很多的内置函数,比如print()等,当然了用户也可以自己创建函数,这样的函数称为用户定义函数。

定义函数

用户定义函数要遵守函数的简单规则。

函数块以关键字def开头,后跟函数名和小括号(())。

任何输入参数或参数应放置在这些小括号中。也可以在这些小括号内定义参数。

每个函数中的代码块以冒号(:)开始,并缩进。

函数内的第一个语句可以是可选语句 - 函数的文档或docstring字符串。

语句return [expression]用于退出一个函数,可选地将一个表达式传回给调用者。如果没有使用参数的return语句,则它与return None相同。

语法如下:

举个列子:

函数调用

一个函数需要为它起一个名字,指定要包括在函数中的参数,并要构造代码块。当函数基本结构完成,就可以通过从另一个函数调用它或直接从Python提示符执行它。如下面的例子:

引用和值传递

Python语言中的所有参数都是通过引用传递,如果在函数中更改参数所指内容,则更改也会反映在调用函数的外部。如下:

从上图中,可以看出,在函数内部更改影响到函数的外部。

还有一个例子,参数通过引用传递,引用被调用函数内部覆盖:

在函数内部的list是函数的局部变量,相当于又初始化了一个变量,只是名字相同而已,所有更改函数的局部变量并不会影响到外部的值。

函数参数

函数参数分为以下类型:

必需参数

关键字参数

默认参数

可变长度参数

必需参数:

必需参数是以正确的位置顺序传递给函数的参数。这里,函数调用中的参数数量应与函数定义完全一致。如下:调用图中函数,必需给一个参数,否则报错。

调用图中函数,提供一个参数就好了:比如:printme("abc")

关键字参数:

关键字参数与函数调用有关。 在函数调用中使用关键字参数时,调用者通过参数名称来标识参数。这允许跳过参数或将其置于无序状态,因为Python解释器能够使用提供的关键字将值与参数进行匹配。如下:

下面这个例子则证明,参数的顺序并不重要。

默认参数:

如果在该参数的函数调用中没有提供值,则默认参数是一个假设为默认值的参数如下:

可变长度参数:

在定义函数时,可能需要处理更多参数的函数。这些参数被称为可变长度参数,并且不像要求的和默认的参数那样在函数定义中命名。语法如下:

星号(*)放在保存所有非关键字变量参数值的变量名之前。如下:

匿名函数

这些函数被称为匿名的,因为它们没有使用def关键字以标准方式声明。可以使用lambda关键字创建小型匿名函数。

Lambda表单可以接受任意数量的参数,但只能以表达式的形式返回一个值。它们不能包含命令或多个表达式。

匿名函数不能直接调用打印,因为lambda需要一个表达式。

Lambda函数有自己的本地命名空间,不能访问其参数列表和全局命名空间中的变量。

虽然lambdas是一个单行版本的函数,但它们并不等同于C或C++中的内联语句,其目的是通过传递函数来进行堆栈分配。

语法如下:

例子如下:

return语句

return [expression]语句退出一个函数,可选地将一个表达式传回给调用者。没有参数的return语句与return None相同。具有返回值的函数如下:

全局变量与局部变量

在函数体内定义的变量具有局部作用域,外部定义的变量具有全局作用域。

局部变量只能在它们声明的函数内部访问,而全局变量可以通过所有函数在整个程序体中访问。 当调用一个函数时,它内部声明的变量被带入范围。例子如下:

预约申请免费试听课

填写下面表单即可预约申请免费试听! 怕学不会?助教全程陪读,随时解惑!担心就业?一地学习,可全国推荐就业!

上一篇:不可错过的Python技术博客(网站)
下一篇:python必懂得几个知识

2021年Python全套免费视频教程在哪里?

Python编程学习路线

Python最高有几级?

人工智能与语音遥控的区别?

Copyright © 2023 Tedu.cn All Rights Reserved 京ICP备08000853号-56 京公网安备 11010802029508号 达内时代科技集团有限公司 版权所有

选择城市和中心
黑龙江省

吉林省

河北省

湖南省

贵州省

云南省

广西省

海南省