测开之路十一:作用域、闭包和修饰器

作用域

L (Local) 局部作用域
E (Enclosing) 闭包函数外的函数中
G(Global) 全局作用域
B (Built-in) 内建作用域
locals()和globals()
local -> enclosing-> global -> build-in

闭包

1.闭包函数必须有内嵌函数
2.内嵌函数需要引用嵌套函数的变量
3.闭包函数必须返回内嵌函数

第一层def的参数为函数名,第二层def的参数为第一层传的函数需要的参数

闭包用法:

1.直接调用

2.修饰器调用, 修饰器的本质是闭包

原文地址:https://www.cnblogs.com/zhongyehai/p/10747706.html

时间: 2024-10-09 06:31:01

测开之路十一:作用域、闭包和修饰器的相关文章

函数嵌套 ,名称空间与作用域 ,闭包函数 ,装饰器 ,迭代器, 生成器 三元表达式,列表解析,生成器表达式 递归与二分法, 内置函数

函数嵌套名称空间与作用域闭包函数装饰器迭代器生成器三元表达式,列表解析,生成器表达式递归与二分法内置函数--------------------------------------------函数的嵌套调用:在调用一个函数的过程中,又调用了其他函数函数的嵌套定义:在一个函数的内部,又定义另外一个函数def max(x,y): if x>y: return x else: return ydef max1(a,b,c,d): res=max(a,b) res2=max(res,c) res3=ma

测开之路五十一:代码实现MongoDB增删改查

初始化时连接.析构时断开连接 from pymongo import MongoClient class Mogo(object): def __init__(self, host='127.0.0.1', port=27017): """ 初始化时连接 """ self.connect = MongoClient(host, port) def __del__(self): """ 析构时断开连接 "&q

测开之路一百四十一:蓝图实现程序模块化

把每一个模块独立出来,然后在主app里面注册,这样就实现了模块之间互不干扰 新建蓝图 artcle.views.py """article蓝图"""from flask import request, render_template, redirect, url_forfrom flask import Blueprint article = Blueprint('article', __name__) @article.route('/arti

测开之路二十五:彩票游戏

玩法 import random money = random.randint(0, 999) def generate_code(money): return list(set([ money[0] + money[1] + money[2], money[0]+money[2]+money[1], money[1] + money[0] + money[2], money[1] + money[2] + money[0], money[2] + money[0] + money[1], mo

测开之路四十八:Django之重定向与cookie

基础配置与上一篇一致 404错误 定义一个error页面 <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>错误页</title></head><body> <h1>哎呀,出错啦!</h1></body></html> 追加一个404的视图

测开之路七十三:用kafka实现消息队列之环境搭建

一:装java环境,确保java能正确调用 kafka下载地址:http://kafka.apache.org/downloads 下载并解压kafka: 新建两个文件夹,用于存放zookeeper和kafka的log数据 修改配置: 1.新建zookeeper_data\zookeeper文件夹,用于存放zookeeper的数据 编辑config--zookeeper.properties的dataDir为刚刚创建的文件夹,clientPort为zookeeper的默认端口号 2.新建一个文件

测开之路七十七:性能测试蓝图之js

//定义全局的editor = nullvar editor = null; //ace_editor的初始化函数function ace_editor() { var editor = ace.edit("editor"); //初始化对象,"editor"为前端页面的id //设置风格和语言(更多风格和语言,请到github上相应目录查看) //editor.setTheme("ace/theme/clouds"); //编辑界面的主题--云

测开之路七十六:性能测试蓝图之html

<!-- 继承base模板 -->{% extends 'base.html' %} {% block script %} <!-- 从cdn引入ace edter的js --> <script src="https://cdn.bootcss.com/ace/1.4.5/ace.js"></script> <script src="https://cdn.bootcss.com/ace/1.4.5/mode-python

测开之路七十八:性能测试蓝图之视图层

from flask import requestfrom flask import jsonifyfrom flask import Blueprintfrom flask import render_templatefrom performance.logic import Logic performance = Blueprint('performance', __name__, static_folder='static', template_folder='templates', ur