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

门户网站建设系统网络产品服务的提供者不得设置

门户网站建设系统,网络产品服务的提供者不得设置,做电气的什么招聘网站好,杨中市网站建设一、闭包: 1. 外部函数嵌套内部函数 2. 外部函数返回内部函数 3.内部函数可以访问外部函数局部变量 闭包(Closure)是指在一个函数内部定义的函数,并且内部函数可以访问外部函数的局部变量,即使外部函数已经执行…

一、闭包:

1. 外部函数嵌套内部函数  

2. 外部函数返回内部函数  

3.内部函数可以访问外部函数局部变量 

        闭包(Closure)是指在一个函数内部定义的函数,并且内部函数可以访问外部函数的局部变量,即使外部函数已经执行完毕,这种现象称为闭包。在Python中,闭包常常用来实现一些特定功能,例如保护变量、实现装饰器等。

import randomdef fun1():print("fun1")datas = []def fun2():datas.append(random.randint(0, 100))print("fun2", datas)return fun2r = fun1()
r()r1 = fun1()
r1()print(id(r), id(r1))

特点和用途:

  • 访问外部变量:闭包可以访问定义它们的外部函数的局部变量,即使外部函数已经返回,闭包仍然保留对这些变量的引用。

  • 保护变量:可以通过闭包来保护数据,因为外部函数的局部变量在闭包中不会被销毁或修改,除非内部函数显式地修改它们。

  • 实现装饰器:装饰器本质上就是闭包,它能够在不修改原函数代码的情况下,动态地增加功能。

闭包在Python中常用于函数式编程和实现一些高级的编程模式,能够提供更灵活和高效的编程解决方案。 

二、装饰器:

目的:不改变函数原有实现给函数添加新功能

概念:一个闭包就是一个函数+在创建这个函数时可以访问的变量

实现:闭包+@语法

        装饰器(Decorator)是Python中一种特殊的函数,它可以修改其他函数的行为或功能。装饰器本质上是一个函数,它接收一个函数作为输入,并返回一个新的函数作为输出。装饰器通常用于在不改变原函数代码的情况下,动态地增加功能、修改函数的行为或者执行额外的操作。

装饰器案例:

1.时间开销:

import random
import timedatas = [random.randint(1, 1000) for i in range(1000)]
datas_copy = datas.copy()def time_cost(f):def calc(sort_type):start = time.time()f(sort_type)print(f"{f.__name__} {time.time() - start}")return calc@time_cost
def fun1(sort_type):datas.sort(reverse=sort_type)print(datas)@time_cost
def fun2(sort_type):new_datas = sorted(datas_copy, reverse=sort_type)print(new_datas)# fun1 = time_cost(fun1)
fun1(True)# fun2 = time_cost(fun2)
fun2(True)

 权限校验:

user = Nonedef login_required(f):def chair():global userif user:f()else:while True:username = input("用户名")password = input("密码")if username == "admin" and password == "666666":user = "admin"f()breakelse:print("用户名或密码错误")return chairdef index():print("首页")@login_required
def center():print("个人中心")@login_required
def cart():print("购物车")index()# center = login_required(center)
center()# cart = login_required(cart)
cart()

装饰器的特点和用途:

  • 修改函数行为:装饰器允许我们在不修改原函数代码的情况下,添加、修改或扩展函数的行为。

  • 动态增加功能:可以在函数调用前后执行额外的操作,如输入验证、性能测试、日志记录等。

  • 代码复用和简化:装饰器可以避免代码重复,使代码更加简洁和易于维护。

  • 装饰器链:可以同时应用多个装饰器,形成装饰器链,每个装饰器可以独立地修改函数的行为。

在实际应用中,装饰器是Python中非常强大和灵活的特性,被广泛用于Web框架、日志系统、权限控制等需要动态修改函数行为的场景。 

http://www.yayakq.cn/news/218575/

相关文章:

  • 深圳做软件开发的公司网站排名优化外包
  • 深圳购物网站东营新闻联播视频
  • 微建站程序有哪些58同城如何招聘人才
  • 兰考网站建设公司网站建设的重要性
  • 淘宝客网站怎么做优化怎么搭建wordpress
  • 内蒙古城乡和住房建设厅网站html做一个登录注册页面
  • 东莞贸易公司寮步网站建设价格网页设计期末作品代码
  • 企业网站 个人备案宜昌网站seo
  • 上海手机网站案例广州电子商务网站建设 v
  • 男男做暧网站免费怎么申请小程序流程
  • 网站建设手机字体大小个人主页网页设计作品欣赏
  • 古典网站源码影视广告设计与制作
  • 资质类网站如何做优化wordpress公司展示网站模板
  • 网站寄生虫怎么做个人做网站需要资质吗
  • 西安php网站制作网站改版前端流程经验
  • 北京麒麟网站建设3d效果图用什么软件
  • 苏州网站制作聚尚网络网站建设评比细则
  • 网站设计相似侵权吗263官网首页
  • 建设部网站材料价格上涨规定网络营销方案策划实训报告
  • 淄博建设网站公司二级目录怎么生成
  • 单页网站建网站平台哪家好
  • 网站制作公司crm客户管理系统重庆环保公司网站建设
  • yandex网站推广上海人才网官网首页
  • 一个网站开发团队网络建设上市公司排名
  • 南丰网站建设重庆火灾新闻最新消息
  • 遵义网站制作如何收费wordpress网站统计代码放哪个文件
  • 企业设计网站济南seo推广
  • 北京seo推广外包seo综合查询怎么用
  • 山东建设公司网站深圳网站制作功能
  • 网站做分享链接专业的高密网站建设