li函数在python_python 函数

1.概念

由若干条语句组成的语句块,他的组织代码是代码的最小单元

完成一定的功能

2.作用

最基本的封装,按照功能组织一段代码

可以复用,减少代码量

代码简洁美观,更易懂

3.函数的分类

内建函数 max()

库函数 match.ceil()

自定义函数 使用def关键字定义

4.定义

函数名

缩进

return 没有缺省返回None

形参

5.调用

函数名加括号,后面跟实参

6.参数

6.1实参的传入方式

按照位置对应(位置传参)多了少了都不行

按照形参名称传参(关键字传参)多了少了都不行,无所谓先后顺序

不允许关键字参数在前

6.2形参的定义

参数缺省值(定义时给形参一个值)

有缺省值的参数必须在无缺省值参数后面

6.2.1可变的位置参数

*args :可变形参,接收零个或多个参数,生成一个元组(不可变),星号后面参数名可自定义

6.2.2可变的关键字形参

**kwargs: 尽可能收集,生成一个字典(可变),调用时要使用关键字传参,作为形参的最后一个参数

位置传参必须在关键字传参的前面

6.2.3 keyword-only

必须使用关键字传参

定义方式:

def fn(*,a,b):

pass

6.2.4 positional-only

python3.8语法

“/” 之前只支持位置传参

定义方式

def fn(a,/,b): a只支持位置传参

pass

参数规则

参数列表参数一般顺序是: positional-only,普通参数,缺省参数,可变位置参数,keyword-only参数(可带缺省值),可变关键字参数

代码易读易懂

按照书写规范定义函数

6.3实参传入

函数

def sun_(*args):

print(args)

s=0

for x in args:

s+=x

return s

传参方式(参数解构)

sum_(*[1.,2,3])

sum_(*range(10)

sum_(*[1,2], *(4,5), *{7,8})

#字典参数结构:

sum_(*{'a':1,'b':2}) #解构出key

sum_(**{'a':1,'b':2}) #解构出关键字传参key=value

实参的参数解构

实参前面加星号,表示将后面的可迭代对象里的元素作为位置参数传入

7.函数返回值

函数执行过程中碰到return语句就代表这个函数执行完毕

没有return的函数,默认返回None

一个函数就算有多条return ,也只会执行一个

返回值的作用:结束函数调用,返回返回值

8.函数的作用域

通常指的是变量的作用域

作用域分类

全局作用域

在整个程序运行环境中都可见

全局作用域中的变量称为全局变量global

局部作用域

在函数/类的内部可见

局部作用域中的变量称为局部变量,其使用范围不能超过其所在局部作用域

也称为本地作用域local

一般外部作用域在内部可见,内部作用域外部不可见

向内穿透,就近选择

global使用原则

外部作用域变量会在内部作用域可见,但也不要在这个内部的局部作用域中直接使用,因为函数的目的就是为了封装,尽量与外界隔离

如果函数需要使用外部全局变量,请尽量使用函数的形参定义,并在调用传实参解决

一句话:不用global,学习他就是为了深入理解作用域

闭包

概念

自由变量

未在本地作用域中定义的变量。例如定义在内层函数外的外层函数的作用域中的变量

闭包

就是一个概念,出现在嵌套函数当中,指的是内层函数引用外层函数的自由变量,就形成了闭包

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值