函数入门
文章目录
前言
一个程序由一个个任务组成;函数就是代表一个任务或者一个功能。 函数是代码复用的通用机制。
提示:以下是本篇文章正文内容,下面案例可供参考
一、基本概念
一个程序由一个个任务组成;函数就是代表一个任务或者一个功能。
函数是代码复用的通用机制
二、分类
1.内置函数
我们前面使用的 str()、list()、len()等这些都是内置函数,我们可以拿来直接使用
2.标准库函数
我们可以通过 import 语句导入库,然后使用其中定义的函数
3.第三方库函数
Python 社区也提供了很多高质量的库。下载安装这些库后,也是通过 import 语句导入,然后可以使用这些第三方库的函数
4.用户自定义函数
用户自己定义的函数,显然也是开发中适应用户自身需求定义的函数。今天我们学习的
就是如何自定义函数
三.定义和调用
1.核心要点
def 函数名 ([参数列表]) :
'''文档字符串'''
函数体/若干语句
要点:
1. 我们使用 def 来定义函数,然后就是一个空格和函数名称;
2. 参数列表
3. return 返回值,如果函数体中包含 return 语句,则
结束函数执行并返回值.如果函数体中不包含 return 语句,则返回 None 值
4. 调用函数之前,必须要先定义函数,即先调用 def 创建函数对象
2.形参和实参
形式参数是在定义函数时使用的。 形式参数的命名只要符合“标 识符”命名规则即可.
在调用函数时,传递的参数称为“实际参数”,简称“实参”。
3.变量的作用域(全局变量和局部变量)
全局变量:在函数和类定义之外声明的变量。作用域为定义的模块,从定义位置开始直到模块
结束.
全局变量一般做常量使用
局部变量:在函数体中(包含形式参数)声明的变量,
局部变量和全局变量同名,则在函数内隐藏全局变量,只使用同名的局部变量
局部变量的查询和访问速度比全局变量快
4.拷贝
copy(浅拷贝)
不拷贝子对象的内容,只是拷贝子对象的引用
deep-copy(深拷贝)
会连子对象的内存也全部拷贝一份,对子对象的修改不会影响源对象
四.参数的几种类型
1.位置参数
函数调用时,实参默认按位置顺序传递,需要个数和形参匹配。按位置传递的参数,称为:
“位置参数”
2.默认值参数
我们可以为某些参数设置默认值,这样这些参数在传递时就是可选的。称为“默认值参数”。
默认值参数放到位置参数后面
3.命名参数
我们也可以按照形参的名称传递参数,称为“命名参数”,也称“关键字参数”
4.可变参数
*param(一个星号),将多个参数收集到一个“元组”对象中
**param(两个星号),将多个参数收集到一个“字典”对象中
5.强制命名参数
在带星号的“可变参数”后面增加新的参数,必须在调用的时候“强制命名参数”。
五.常用函数
lambda 表达式和匿名函数
lambda 表达式可以用来声明匿名函数。lambda 函数是一种简单的、在同一行中定义函数的方法。lambda 函数实际生成了一个函数对象
lambda arg1,arg2,arg3... : <表达式>
arg1/arg2/arg3 为函数的参数。<表达式>相当于函数体。运算结果是:表达式的运算结果
eval()函数
功能:将字符串 str 当成有效的表达式来求值并返回计算结果。
语法: eval(source[, globals[, locals]]) -> value
参数:
source:一个 Python 表达式或函数 compile()返回的代码对象
globals:可选。必须是 dictionary
l ocals:可选。任意映射对象
嵌套函数(内部函数)
nonlocal 关键字
LEGB 规则
总结
例如:以上就是今天要讲的内容,本文仅仅简单介绍了函数的使用,帮助我们快速便捷地处理数据。