首页 > 编程语言 >python闭包

python闭包

时间:2023-08-08 09:57:31浏览次数:39  
标签:闭包 __ 函数 python py doing func

#
#   py_decorator.py
#   py_learn
#
#   Created by Z. Steve on 2023/8/8 08:34.
#


# 装饰器:本质闭包。在不破坏原目标函数原来代码和功能的前提下,为目标函数增加新功能。
# 定义一个闭包函数, 在闭包函数内部执行目标函数,并完成功能添加


# 1. 装饰器的一般写法
def decorate(fn):
    def decorator_func():
        print("doing sth before......")
        fn()
        print("doing sth after......")

    return decorator_func


# 2. 装饰器的快捷写法(语法糖)
# 只需要在原函数上面加 @创建闭包的函数名  即可
# 然后直接调用原函数, 此时原函数调用时自动就封装闭包了


# 定义一个正在执行的函数
@decorate
def func():
    print("doing sth here.")


if __name__ == "__main__":
    # dfn = decorate(func)
    # dfn()
    func()

标签:闭包,__,函数,python,py,doing,func
From: https://www.cnblogs.com/zxhoo/p/17613363.html

相关文章

  • 用Python操作PPT的办公自动化教程
    PPT通过其精美的可视化技巧以及良好的演示效果,成为了职场人士的必备技能。PPT的设计是一门大学问,无论是设计技巧,还是操作方法,都衍生出了专门的课程。主要介绍Python操作PPT的技巧,编程的优势在于处理速度,对于高大上的PPT设计,还是需要"以人为本,所以该模块的使用场景主要是PPT基本元......
  • python监控强势票日志
    c:\python38\python.exeF:/GZH/demo/量化/easyquant/utils/ts/A实时监控近10天最强票+昨日涨停票.pyglobal_config_path:c:\python38\lib\site-packages\easytrader/config/global.json++++++++++++++++(近10日最强+昨日涨停票)+++++++++++++++++++++++++++++++:selectdist......
  • Python实现输入三个整数x,y,z,请把这三个数由小到大输出;
    num1=input('请输入第一个数,x:')num2=input('请输入第二个数,y:')num3=input('请输入第三个数,z:')ifnum1>num2:#if语句判断num1,num2=num2,num1ifnum1>num3:num1,num3=num3,num1ifnum2>num3:num2,num3=num3,num2p......
  • How to update to the latest Python version On Linux All In One
    HowtoupdatetothelatestPythonversionOnLinuxAllInOneupdatetothelatestPythonversiononRaspberryPierrorsold$python--versionPython3.9.2new$sudoaptupdate$aptlist|greppython3.10WARNING:aptdoesnothaveastableCL......
  • opencv-python 图像分割
    本章节介绍图像分割方面的算法:分水岭算法,grabcut算法,meanshift算法等知识。图像分割:将前景物体从背景中提取出来。图像分割分为传统图像分割和基于深度学习的图像分割。传统图像分割有:分水岭算法,grabcut算法,meanshift算法,背景抠出等。1分水岭算法分水岭算法是基于图像形态学......
  • 软件测试|最详细的Windows安装Python教程
    简介Python是一种简单易学的高级编程语言,在Windows系统下安装Python非常简单。本文将详细介绍Windows系统下安装Python的教程。步骤1:下载Python安装程序首先,您需要前往Python官方网站(www.python.org/downloads/)…2.x和Python3.x。因为Python2.x版本已经在2020年停止支持,所以我们......
  • Python 递归
    ##py_recursive.py#py_learn##CreatedbyZ.Steveon2023/8/721:28.##需求:通过递归查找一个目录下的所有目录和文件os模块下的三个方法:1.os.listdir()2.os.path.isdir()os.path.isdir(path)如果path是现有的目录,则返回#True。本方法会跟踪符号......
  • 安装python3.8 所对应的pandas 1.3.3 的版本
    1、进入Anacondaprompt环境 2.进入虚拟环境开始安装  ......
  • 100到python练习题(二)
    编写一个程序,判断一个字符串是否是有效的括号序列。defisValidParentheses(s):stack=[]parentheses={')':'(',']':'[','}':'{'}forcharins:ifcharinparentheses.values():stack.a......
  • python获取Excel文件中单元格公式的计算结果
    importopenpyxl#打开Excel文件wb=openpyxl.loadworkbook('data.xlsx',data_only=True)#获取WorkSheetws=wb.worksheets[0]forrowinws.rows:print(row[0].value)注意:使用openpyxl读取公式计算结果时,如果无法得到正确结果时会读出None,此时需要打开对应的excel......