带参数的装饰器:就是在原装饰器外再包一层函数 def auth(driver='file'): def auth2(func): def wrapper(*args,**kwargs): name=input("user: ") pwd=input("pwd: ") if driver == 'file': if name == 'egon' and pwd == '123': print('login successful') res=func(*args,**k…
十一. Python基础(11)-补充: 作用域 & 装饰器 1 ● Python的作用域补遗 在C/C++等语言中, if语句等控制结构(control structure)会产生新的作用域: void main() {     //int num = 10;     if (2 > 1){         int num = 100;     }     printf("%d", num);     getchar(); } //在上面的案例中, printf(&qu…
python其他知识目录 1.装饰器学习前热身准备 1.1装饰器简介 1.2装饰器热身分析 ) def func(): pass v1 = v2 = func #将函数名赋予一个变量,就和变量赋值是同理.而函数名赋予的是函数所在的内存地址 print(v1,v2) ------------结果: <function func at 0x01E78D20> ) def base(): print() def bar(): print() bar = base bar() ------------…
Python第四章__装饰器.迭代器 欢迎加入Linux_Python学习群  群号:478616847 目录: 列表生成式 生成器 迭代器 单层装饰器(无参) 多层装饰器(有参) 冒泡算法 代码开发规范 一.列表生成式(列表推导式) 列表生成式List Comprehensions,是Python内置的非常简单却强大的可以用来创建list的生成式. 首先来上个需求,我有一个列表 [1,2,3,4,5,6,7,8,9,10],现在有这么个需求,要里面的元素自乘,想想看要怎么实现 版本一,通过fo…
面向对象编程 面向过程:根据业务逻辑从上到下写代码 面向对象:将数据与函数绑定到一起,进行封装,这样能够更快速的开发程序,减少了重复代码的重写过程 面向对象编程(Object Oriented Programming-OOP) 是一种解决软件复用的设计和编程方法. 这种方法把软件系统中相近相似的操作逻辑和操作 应用数据.状态,以类的型式描述出来,以对象实例的形式在软件系统中复用,以达到提高软件开发效率的作用. 面向对象技术简介 类(Class): 用来描述具有相同的属性和方法的对象的集合.它定义…
本节内容 一.名称空间 又名name space,就是存放名字的地方.举例说明,若变量x=1,1存放于内存中,那名字x存放在哪里呢?名称空间正是存放名字x与1绑定关系的地方. 名称空间共3种,分别如下: locals: 是函数内的名称空间,包括局部变量和形参 globals: 全局变量,函数定义所在模块的名字空间 builtins: 内置模块的名字空间 不同变量的作用域不同就是由这个变量所在的命名空间决定的. 作用域即范围 全局范围:全局存活,全局有效 局部范围:临时存活,局部有效 查看作用域方…
今天我们来介绍一下可以提升python代码逼格的东西——装饰器.在学习装饰器之前我们先来复习一下函数的几个小点,方便更好的理解装饰器的含义. 一.知识点复习 1, 在函数中f1和f1()有什么不同,f1:表示的是将整个函数看作一个整体:f1():表示执行f1函数,下面通过一个例子来看一下: 1 2 3 4 5 def f1():     print('f1')   f1                    #代表函数体本身,什么也不操作 f1()                  #代表执行函…
复习 函数的嵌套定义:在函数内部定义另一个函数 闭包:被嵌套的函数 -- 1.外层通过形参给内层函数传参 -- 2.返回内部函数对象---->  延迟执行, 开放封闭原则: 功能可以拓展,但源代码与调用方式都不可以改变 装饰器:装饰器名就是外层函数 @outer @outer  # fn = outer(fn) def fn(): pass 今日内容 1.带参装饰器  |  2.wrapper  |  3.可迭代对象 |   4.迭代器对象  |  5.for 迭代器工作原理 |  6.枚举对象…
""" 今日内容: 1.带参装饰器及warps 2.迭代器 3.生成器 """ """ # 一.带参装饰器及warps系统装饰器 # 1.为什么需要带参装饰器? -- 昨天的内容已经讲了装饰器,但是讲的都是增加的函数不需要外界传人参数,如果装饰器也需要外界传入参数呢? -- 此时就需要带参装饰器 # 2.装饰器的推导过程 -- 如果添加的功能也需要外界传入参数时,参数应该如何通过谁进行传递呢? -- 如果通过inne…
复习 ''' 函数的嵌套定义:在函数内部定义另一个函数 闭包:被嵌套的函数 -- 1.外层通过形参给内层函数传参 -- 2.验证执行 开放封闭原则: 功能可以拓展,但源代码与调用方式都不可以改变 装饰器:装饰器名就是外层函数 @outer @outer # fn = outer(fn) def fn(): pass ''' def wrap(func): def inner(*args, **kwagrs): # res = func(*args, **kwagrs) res = outer.i…