函数装饰器 简单装饰器 def my_decorator(func): def wrapper(): print('wrapper of decorator') func() return wrapper def greet(): print('hello world') greet = my_decorator(greet) greet() # 输出 # wrapper of decorator # hello world 上述代码在 Python 中有更简单.更优雅的表示: def my_d…
python进阶篇 import 导入模块 sys.path:获取指定模块搜索路径的字符串集合,可以将写好的模块放在得到的某个路径下,就可以在程序中import时正确找到. ​ import sys ​ sys.path.append("") 重新导入模块 ​ reload(模块) ==.is a = [11,22,33] b = [11,22,33] >>>a == b True >>>a is b False >>>a = c…
Python进阶(十四)----空间角度研究类,类与类之间的关系 一丶从空间角度研究类 对象操作对象属性 class A(): address = '沙河' def __init__(self, name): self.name = name def func(self): # 给对象封装一个属性 if self.name == 'ls': self.age = 100 obj = A('ls') #实例化一个对象 # 类的外部给对象封装属性 obj.sex = '男' print(obj.__…
Python进阶(二)----函数参数,作用域 一丶形参角度:*args,动态位置传参,**kwargs,动态关键字传参 *args: ​ 动态位置参数. 在函数定义时, * 将实参角度的位置参数聚合在一起 ​ 解决实参传递多个位置参数,用*args全部接收,得到元组类型的数据 #定义一个 动态位置参数 def eat(*args): print(args) # 得到元组数据 print(f'{args}') eat('a','b','c') # 动态位置参数的应用,从实参传来多个位置参数,求和…
/* 装饰器:装饰器是一种特殊类型的声明,它能够被附加到类声明,方法,属性或参数上,可以修改类的行为. 通俗的讲装饰器就是一个方法,可以注入到类.方法.属性参数上来扩展类.属性.方法.参数的功能. 常见的装饰器有:类装饰器.属性装饰器.方法装饰器.参数装饰器 装饰器的写法:普通装饰器(无法传参) . 装饰器工厂(可传参) 装饰器是过去几年中js最大的成就之一,已是Es7的标准特性之一 */ //1.类装饰器:类装饰器在类声明之前被声明(紧靠着类声明). 类装饰器应用于类构造函数,可以用来监视,修…
Python进阶(三)----函数名,作用域,名称空间,f-string,可迭代对象,迭代器 一丶关键字:global,nonlocal global 声明全局变量: ​ 1. 可以在局部作用域声明一个全局变量 ​ 2. 可以修改全局变量 # 解释器认为: 如果你在局部作用域对一个变量进行修改,局部作用域已经定义了好这个变量 # 异常: # UnboundLocalError: local variable 'count' referenced before assignment ####相当于…
Python进阶(一)----函数初识 一丶函数的初识 什么函数: ​ 函数是以功能为导向.一个函数封装一个功能 函数的优点: ​ 1.减少代码的重复性, ​ 2.增强了代码的可读性 二丶函数的结构 # def 关键字 定义一个函数,紧跟一个空格 # new_len 函数名:函数命名规范与变量命名规范一致,函数名具有可描述性 # () 结构需要,传参使用 # : 分隔符 , 分隔函数的定义和函数体 # tab键 四个空格,缩进函数体, def new_len(model): count=0 fo…
Python入门篇-函数.参数及参数解构 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.函数概述 1>.函数的作用即分类 函数 数学定义:y=f(x) ,y是x的函数,x是自变量.y=f(x0, x1, ..., xn) Python函数 由若干语句组成的语句块.函数名称.参数列表构成,它是组织代码的最小单元 完成一定的功能 函数的作用 结构化编程对代码的最基本的封装,一般按照功能组织一段代码 封装的目的为了复用,减少冗余代码 代码更加简洁美观.可读易懂 函数的分类 内建…
类载入器   虚拟机设计团队把类载入阶段中的"通过一个类的全限定名来获取描写叙述此类的二进制字节流"这个动作放到Java虚拟机外部去实现.以便让应用程序自己决定怎样去获取所须要的类.实现这个动作的代码模块称为"类载入器". 类载入器层次(等级)   从JVM的角度来讲,仅仅存在两种不同的类载入器.   第一类是启动类载入器(Bootstrap ClassLoader):这个类载入器主要载入JVM自身工作须要的类.这个类载入器由C++语言实现(特指HotSpot).是…
回到装饰器上的概念上来,装饰器要求接受一个callable对象,并返回一个callable对象(不太严谨,详见后文). 那么用类来实现也是也可以的.我们可以让类的构造函数__init__()接受一个函数,然后重载__call__()并返回一个函数,也可以达到装饰器函数的效果. 基本类装饰器 class logging(object): def __init__(self, func): self.func = func def __call__(self, *args, **kwargs): p…