3、Python函数详解(0601)

本文深入探讨了Python中的高级概念,包括闭包、装饰器、递归、协程等,并介绍了如何设计高质量的函数,降低耦合性和提高聚合性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

回顾:

re

search,findall,finditer.sub,subn

function

()    调用函数

def func_name(arg1,....)   生成函数对象

func_suite   函数体    

闭合

 

 

python闭包:闭包叫lexical closure  全称叫:词法闭包,只函数及相关的环境所组成的整体

是引用了自由变量的函数。这个被引用的自由变量将和这个函数一同存在,即使已经离开了创造它的环境也不例外。

所以,python闭包是由函数和与其相关的引用环境组合而成的实体。闭包只是在形式上像函数,但自身并不是函数,

简单讲:函数在嵌套环境中,如果在内层函数里,对外层函数作用域的变量进行了引用,那么在外层函数返回后,内层函数依然可以使用其外层函数的变量,这种变量就构成了内层函数使用时的环境。

 

只需要对外层函数的变量施加修改,内层环境也就需要修改,所以外层函数为内层函数提供了运行环境



函数中使用yield,会返回一个生成器对象   

         

                  



装饰器:

1、装饰器本身是一个函数 ,目的用于装饰其他函数

2、功能:增强被装饰函数的功能

 

使用@调用函数

装饰器一般接受一个函数对象作为参数,以对其进行增强

 

支持参数的函数进行装饰的使用方式:



递归:

  • 在函数执行过程中调用自己,直到不符合条件,推出
  • 递归需要边界条件,递归前进段和递归返回段



协程:


 


 

函数的设计规范

耦合性     降低函数的耦合度方法

1.通过参数接受输入,已经通过return产生输出以保证函数的独立性;

2.尽量减少使用全局变量进行函数间通信;

3.不要再函数中修改可变类型的参数;

4.避免直接改变定义在另外一个模块中的变量。

 

聚合性       提高聚合能力

1.每个函数都应该有一个单一的、统一的目标

2.每个函数的功能都应该相对简单

 

函数执行环境:

函数可以通过多种办法获得输入及产生输出



 

 练习:

1.将/etc/passwd文件中的每一行都分隔成一个列表

 

2.将任意文件按用户指定的分隔符把每一行都分隔成一个列表

 

3.用折叠的方式(reduce)求阶乘

 

 

 

 

转载于:https://www.cnblogs.com/hanshanxiaoheshang/p/9372364.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值