5.函数和函数参数

一、函数定义和调用

1.函数的定义

定义函数关键字:def
函数的作用:用来封装功能,方便好用、提高代码的复用性,使代码变得更简洁
语法:
def 函数名():
#函数内部代码

2.函数的调用: 函数名()

在这里插入图片描述

二、函数的返回值

1.return的作用:

返回值数目=0:返回None
返回值数目=1:返回object
返回值数目>1:返回tuple

2.疑问:为什么要用return,什么时候用return

根据需求,当需要返回的时候就返回,不需要返回的时候就不用返回

3.注意点:

return是用来给函数返回结果的,只能用在函数体中;
当函数执行到return的时候,那么这个函数执行结束;
函数没有定义return,默认的返回值是None
在这里插入图片描述

三、函数参数

1.参数的定义:三种形式

函数名后面的括号中定义参数
①必需参数:定义几个参数就要必须传几个参数,不能多不能少
②默认参数(缺省参数):调用的时候,可以传参也可以不传,如果传了值那么就用传入的值,如果不传那么就用默认值
在这里插入图片描述
③不定长参数:可以传值(1个或者多个值),也可以不传
*args:用来接收未被接收的位置参数,保存为一个元组
在这里插入图片描述
**kwargs:用来接收未被接收的关键字参数,保存为一个字典
在这里插入图片描述

  • 备注:包含位置参数和关键字参数,需要先写位置参数,再写关键字参数,否则会报错
    *\ **:打包(不定长参数)
    *\ **:拆包(函数调用)
    在这里插入图片描述

2.参数的传递

参数传递的两种形式:
①位置参数:位置参数(按位置进行传递)
②关键字参数:通过关键字指定传给某个参数
注意:关键字参数写在位置参数之后

在这里插入图片描述
定义的参数称为:形参
调用时间的传递的为:实参
在这里插入图片描述

四、函数的作用域

在这里插入图片描述

1.全局变量:

直接定义在模块(py中的变量),在整个文件中任何地方都能够访问

2.局部变量:

定义在函数中的,它的作用范围仅限于当前的作用域(定义的函数中),在函数外部无法调用
注意点:

  • 不同的函数,可以定义相同的名字的局部变量,但是各用各的不会产生影响
  • 局部变量的作用,为了临时保存数据需要在函数中定义变量来进行存储,这就是他的作用
  • 全局变量和局部变量从上图总结一句话:外面的不能访问里面的,里面的可以访问外面的
    在这里插入图片描述

3.globe

函数内部申明全局变量
注意点:
使用globe关键字修饰的变量之前可以并不存在;
在函数内部变量定义前,引用变量会提示错误,局部变量错误:在分配前引用的局部变量‘X’
UnboundLocalEeeor:local variable ‘x’ referenced defore assignment
在这里插入图片描述

4.nonlocal(扩展)

nonlocal只能写在嵌套函数里面,只会修改外部函数定义值,不会修改全局变量
在这里插入图片描述

五、python中常见内置函数

之前接触过了的内置函数:int float bool str list tuple
dict set range len type id print input

1.常见内置函数

len 求长度
max 求最大值
min 最小值
sum 求和
在这里插入图片描述

2.python中高级的内置函数

2.1. enumerate

返回一个可以枚举的对象,enumerate将其组成一个索引序列,利用它可以同时获得索引和值
在这里插入图片描述

2.2. eval:能够识别字符串中的python表达式

取出字符串中的的内容
将字符串str当成有效的表达式来求值并返回计算结果
在这里插入图片描述

2.3 .exec:能识别字符串中的python代码

exec执行存储在字符串或文件中的python语句,相比于Eval,exec可以执行更复杂的python代码
执行字符串或complie方法编译过的字符
在这里插入图片描述

2.4.filter过滤器

在这里插入图片描述

2.5.map

map()函数语法:
map(function,iterable,…)

  • function:函数,有2个参数
  • iterable:一个或多个序列
    在这里插入图片描述

2.6.zip:打包

对序列数据进行打包聚合为一个元组,以最短的元素为准,多余的元素不会进行打包
两组数据进行打包,转化为字典的比较常用
在这里插入图片描述

2.7. isinstance :判断数据类型

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值