当前位置: 首页 > wzjs >正文

实惠的网站建设公司头像制作免费

实惠的网站建设公司,头像制作免费,专业网站建设经费申请,学校网站对学校建设的重要性一、背景知识 闭包(Closure) 是一个编程概念,在 Python 中是一个非常重要的特性。简单来说,闭包是一个函数,它能够记住并访问其外部作用域中的变量,即使外部函数已经执行完毕。 1. 详细解释: 在 Python 中,闭包指的是 一个函数嵌套在另一个函数中,并且内部函数引用…

一、背景知识

闭包(Closure) 是一个编程概念,在 Python 中是一个非常重要的特性。简单来说,闭包是一个函数,它能够记住并访问其外部作用域中的变量,即使外部函数已经执行完毕。

1. 详细解释:

在 Python 中,闭包指的是 一个函数嵌套在另一个函数中,并且内部函数引用了外部函数的变量。即使外部函数已经执行完毕,内部函数依然能够访问这些外部函数的变量,这些被引用的变量会“被记住”,这就是闭包的特性。

2. 形成闭包的条件

一个函数是闭包,必须满足以下三个条件:

  1. 有一个嵌套函数(即一个函数内部定义了另一个函数)。
  2. 内部函数引用了外部函数的变量
  3. 外部函数返回了内部函数,并且内部函数在外部函数执行完毕后依然可以访问外部函数的变量。

3. 闭包的例子

3.1 基本闭包示例:

def outer():x = 10  # 外部函数的局部变量def inner():print(x)  # 内部函数引用了外部函数的变量 xreturn inner  # 返回内部函数# 获取闭包函数
closure = outer()# 调用闭包函数
closure()

输出:

10

解释:

  1. outer 函数:它有一个局部变量 x,并定义了一个嵌套的 inner 函数。
  2. inner 函数:它引用了外部函数 outer 的变量 x
  3. 返回 innerouter 函数返回了 inner 函数,即 closure,即使 outer 函数已经执行完毕,closure 依然能够访问 x
  4. 执行 closure():调用 closure() 实际上是在执行 inner(),并打印了 x 的值。

3.2 为什么会形成闭包?

outer() 执行时,它会返回 inner()。此时 inner() 依然持有对 x 的引用(xouter 函数的局部变量)。即使 outer() 函数已经结束执行,inner() 依然可以访问 x,这就是闭包的特性。

4. 闭包的应用:生成器和装饰器

闭包在实际编程中有很多应用,特别是在以下两种场景中:

  1. 生成器函数:生成器函数利用闭包来记住每次迭代的状态。
  2. 装饰器:装饰器函数利用闭包来扩展或修改其他函数的行为,同时保留对原始函数的访问。

二、装饰器概述

在 Python 中,装饰器(Decorator)是一个非常强大的功能,它本质上是一个 函数,用于在不修改原始函数代码的情况下,为其添加额外的功能。简单来说,装饰器是一种 函数包装器,它可以用来在函数执行前后添加自定义逻辑。

1. 装饰器的工作原理

装饰器本质上是一个接受一个函数作为输入并返回一个函数的函数。它能够在不修改原始函数代码的情况下,为这个函数增加额外的功能。

1.1基本概念

  1. 接受一个函数作为参数:装饰器接收一个函数作为输入。
  2. 返回一个新函数:装饰器返回一个新的函数,通常是对原始函数的增强或修改版本。

1.2 举个简单的例子:

def my_decorator(func):def wrapper():print("Before the function is called.")func()  # 调用原始函数print("After the function is called.")return wrapperdef say_hello():print("Hello!")# 使用装饰器
decorated_say_hello = my_decorator(say_hello)# 调用装饰后的函数
decorated_say_hello()

输出:

Before the function is called.
Hello!
After the function is called.

在上面的代码中:

  • my_decorator 是一个装饰器,它接受 say_hello 函数作为参数,并返回一个新的 wrapper 函数。
  • wrapper 在调用 say_hello 之前和之后增加了额外的打印语句。

1.3 使用 @ 语法糖

在 Python 中,你可以通过 @ 语法糖来简化装饰器的使用,避免显式地将原函数传递给装饰器。

@my_decorator
def say_hello():print("Hello!")# 直接调用装饰后的函数
say_hello()

输出和之前一样:

Before the function is called.
Hello!
After the function is called.

2. 装饰器的实际应用

装饰器通常用于以下几个场景:

  1. 日志记录:记录函数的执行日志。
  2. 权限验证:在执行函数之前检查用户是否有权限。
  3. 缓存:缓存函数的计算结果,以提高效率。
  4. 计时:测量函数执行的时间。

三、示例分析

1 装饰器语法糖

python提供了@符号作为装饰器的语法糖,使我们更方便的应用装饰函数。但使用语法糖要求装饰函数必须return一个函数对象。因此我们将上面的func函数使用内嵌函数包裹并return。

1.1 函数装饰器

(1)不带参数装饰器,不带参数函数

def use_logging(func):print(f"传入函数名称: {func.__name__}")def _deco():print("%s is running" % func.__name__)func()return _decoprint("1" * 20)@use_logging
def bar():

文章转载自:

http://udeWTajl.jbqrr.cn
http://70DzQkkF.jbqrr.cn
http://tlunBvnP.jbqrr.cn
http://qn8BOyZK.jbqrr.cn
http://Z81EYdcL.jbqrr.cn
http://oeSKHQ95.jbqrr.cn
http://IMpYqFNN.jbqrr.cn
http://orzyRn5I.jbqrr.cn
http://0uMJ1VXj.jbqrr.cn
http://vZ7TTI7f.jbqrr.cn
http://lvjE2peT.jbqrr.cn
http://zxCS21ts.jbqrr.cn
http://jptp9CNG.jbqrr.cn
http://0A5YVMct.jbqrr.cn
http://2nm80AZx.jbqrr.cn
http://yMe4q9hX.jbqrr.cn
http://RRL8I3zz.jbqrr.cn
http://uPXkocB3.jbqrr.cn
http://nm6keH34.jbqrr.cn
http://IPXfotGy.jbqrr.cn
http://GSuMSR3m.jbqrr.cn
http://qyrI4g24.jbqrr.cn
http://MBb1YVo1.jbqrr.cn
http://h7MTQTXk.jbqrr.cn
http://pwwHC2hU.jbqrr.cn
http://chpRwcI3.jbqrr.cn
http://WvgtUiup.jbqrr.cn
http://cTsZAGkN.jbqrr.cn
http://5FxlJnD3.jbqrr.cn
http://orFUuepP.jbqrr.cn
http://www.dtcms.com/wzjs/643558.html

相关文章:

  • 花瓣网设计网站盐城网站设计
  • html5移动网站制作网站制作的教程
  • 营销型网站模版郑州手机端建站模板
  • 珠海企业网站建设报价企业注册资金需要实缴吗
  • 免费做流程图的网站贵州建设厅考试网站准考证下载
  • 济宁网站建设 济宁智雅wordpress付费服务器
  • 广告策划案例范文龙岗网站关键词优化代理
  • 成都学校网站制作公司网站托管套餐
  • 网站建设的步骤有哪些高端建站收费标准
  • 重庆seo标准网站优化工具分析工具
  • 网站营销理念网站自己怎么做优化
  • 网站开发方案服装网站简介建立网站费用
  • 东莞网站建设在哪里衡阳百度推广
  • 个人网页设计与制作教程seo哪家公司好
  • 我公司要网站建设必须重视的问题之一
  • 信誉好的广州外贸网站苏州网站营销公司
  • 站长之家网站排行榜广东住房城乡建设厅网站
  • 订单网站模块烟台手机网站建设费用
  • 不知道怎么选南京seo推广
  • 忻州建站公司济南黄河路桥建设集团官方网站
  • ssh网站开发的书籍汕头建站模板源码
  • 保定网站免费制作网站内容建设与管理
  • 建设网站学什么条件汽车配件外贸出口公司
  • 购物网站哪个好心理学门户网站开发与实现
  • 班级网站怎样做装修案例分析
  • 可以做网络攻防的实验的网站网站升级的内容包括哪些
  • 常平建设局网站wordpress主题腾讯EDC
  • 上海内贸网站建设ps专门做兼职的网站
  • 宁阳网站定制巨量数据分析入口
  • 网站开发 学习步骤整站优化报价