python学习笔记之编程
python学习笔记之编程
昨日回顾
闭包函数
- 定义在函数体内部的函数
- 外部函数使用了内部函数的函数名作为返回值
- 内部函数调用了外部函数的名
装饰器
在不改变原功能的代码和调用方式,增加新的功能。
结构:
def 装饰器函数名(实际功能函数名):
def 封包函数名(*args,**kwargs):
接受返回值变量名 = 实际功能函数名(*args,**kwargs)
return 接受返回值变量名
return 封包函数名
语法糖
实际功能函数名 = 装饰器函数名(实际功能函数名)
等于
@装饰器
修复技术
from functools import wraps
def 装饰器函数名(实际功能函数名):
@wraps(实际功能函数名)
def 封包函数名(*args,**kwargs):
接受返回值变量名 = 实际功能函数名(*args,**kwargs)
return 接受返回值变量名
return 封包函数名
今日学习内容
多层装饰器
def 装饰器函数名(实际功能函数名):
def 封包函数名(*args,**kwargs):
接受返回值变量名 = 实际功能函数名(*args,**kwargs)
return 接受返回值变量名
return 封包函数名
def 装饰器函数名1(实际功能函数名):
def 封包函数名1(*args,**kwargs):
接受返回值变量名1 = 实际功能函数名(*args,**kwargs)
return 接受返回值变量名1
return 封包函数名1
def 装饰器函数名2(实际功能函数名):
def 封包函数名2(*args,**kwargs):
接受返回值变量名2 = 实际功能函数名(*args,**kwargs)
return 接受返回值变量名2
return 封包函数名2
@装饰器函数名
@装饰器函数名1
@装饰器函数名2
def 实际功能函数名():
运行先后顺序
从下往上依次传参,到最上一层装饰函数名时,
开始依次往下运行。
有参装饰器
就是给装饰器再外套一个函数,相当于将装饰器转换成一个被嵌套函数。
def 有参函数(需要的参数)
def 装饰器函数名(实际功能函数名):
def 封包函数名(*args,**kwargs):
接受返回值变量名 = 实际功能函数名(*args,**kwargs)
print(需要的参数)
return 接受返回值变量名
return 封包函数名
递归函数
本质:函数在一定条件下重复自己调用自己
a = 0
def number()
if a > 3: # 设定一个停止条件(重要)
reture
else:
global a
a += 1
number()
如果没有停止条件就会死循环,如没有递归深度保护,会影响电脑使用
递归练习
阶乘“一个正整数的阶乘是所有小于及等于该数的正整数的积,并且0的阶乘为1。”
def a(number):
if number > 1:
res = number * a(number - 1)
return res
else:
return 1
print(a(66))
544344939077443064003729240247842752644293064388798874532860126869671081148416000000000000000(hahahahah)
算法之二分法
算法概念:研究并尝试用最优解去解决问题
二分法:最入门的算法
使用的数据集要求必须是按升序或降序
l1 = [1,3,6,8,12,65,88,1000]
首先:
用len检索元素数量,取中间值
def get_target(列表,需要查找的数):
元素个数 = len(l1) // 2
然后利用列表索引原则的判断
if 列表 > l1[元素个数]:
如果大于则保存右边列表
列表1 = l1[元素个数+1:]
else 列表 < lz(元素个数) :
如果小于则保留左边列表
列表2 = l2[元素个数]
重复下去,每次列表都会被减少一半
到最后直接检测出该数据,当列表的长度为0时,便说明该列表,没有需要的那个数字
今日小结
努力学习,冲冲冲!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具