python进阶04 装饰器.描述器.常用内置装饰器 一.装饰器 作用:能够给现有的函数增加功能 如何给一个现有的函数增加执行计数的功能 首先用类来添加新功能 def fun(): #首先我们定义一个函数 print('func running') #看到封装,我们首先想到的是函数 class MyFunc(): def __init__(self,f): #把函数和变量封装在一起 self.f=f self.count=0 def run(self): #间接的调用了封装的函数 self.co…
前言 接着上一篇笔记,我们来看看内置装饰器property.staticmethod.classmethod 一.property装饰器 1. 普通方式修改属性值 code class Celsius: def __init__(self, temperature = 0): self.temperature = temperature def to_fahrenheit(self): return (self.temperature * 1.8) + 32 man = Celsius(-280…
在<Python装饰器(Decorators )>一文中介绍了python装饰器的概念,日常写代码时有一个装饰器很常见,他就是内置的@property. 我们一步步的来接近这个概念. 一个初始示例如下: LeosWorkGround项目下有一个名为leo01.py的文件内容如下: # coding=utf-8 class Student(object): def __init__(self , first_name , last_name , age , hobby): self.first_…
组合: 夺命三问: 1.什么是组合? 组合指的是一个对象中,包含另一个或多个对象. 2.为什么要用组合? 减少代码的冗余. 3.如何使用组合? 耦合度: 耦: 莲藕 ---> 藕断丝连 - 耦合度越高: 程序的可扩展性越低. - 耦合度越低: 程序的可扩展性越高. 总结: - 继承: 继承是类与类的关系,子类继承父类的属性/方法,子类与父类是一种 “从属” 关系. - 组合: 组合是对象与对象的关系,一个对象拥有另一个对象中的属性/方法,是一种什么有什么的关系. # 组合实现 class Peo…
# property # 内置装饰器函数 只在面向对象中使用 # 装饰后效果:将类的方法伪装成属性 # 被property装饰后的方法,不能带除了self外的任何参数 from math import pi class Circle: def __init__(self, r): self.r = r def perimeter(self): return 2 * pi * self.r def area(self): return pi * self.r**2 * pi c1 = Circle…
# method 英文是方法的意思 # classmethod 类方法 # 当一个类中的方法中只涉及操作类的静态属性时,此时在逻辑上,我们想要直接通过类名就可以调用这个方法去修改类的静态属性,此时可以用这个内置装饰器函数 # staticmethod 静态方法 # 类的方法 classmethod class Goods: discount = 0.5 # 折扣 def __init__(self, name, price): self.name = name self.__price = pr…
python有个内置下载器,有时候在内部提供文件下载很好用. 进入提供下载的目录 # ls abc.aaa chpw.py finance.py lsdir.py ping.py u2d-partial.py abc.txt chpw.sh foo.py mktxt.py ping.sh u2d.py ... 启动下载器 # python -m SimpleHTTPServer Serving HTTP on 0.0.0.0 port 8000 ... 对方只要通过ip.port访问即可: 如果…
一.校验器的配置风格 1.字段校验器: <field name="被校验的字段"> <field-validator type="校验器名"> <!--此处需要为不同校验器指定数量不等的校验规则--> <param name="参数名">参数值</param> .................... <!--校验失败后的提示信息,其中key指定国际化信息的key--> &l…
一.Struts2内置拦截器 Struts2中内置类许多的拦截器,它们提供了许多Struts2的核心功能和可选的高级特 性.这些内置的拦截器在struts-default.xml中配置.只有配置了拦截器,拦截器才可以正常的工作和运行.Struts 2已经为您提供丰富多样的,功能齐全的拦截器实现.大家可以至struts2的jar包内的struts-default.xml查看关于默认的拦截器与 拦截器链的配置.内置拦截器虽然在struts2中都定义了,但是并不是都起作用的.因为并不是所有拦截器都被加…
Elasticsearch(10) --- 内置分词器.中文分词器 这篇博客主要讲:分词器概念.ES内置分词器.ES中文分词器. 一.分词器概念 1.Analysis 和 Analyzer Analysis: 文本分析是把全文本转换一系列单词(term/token)的过程,也叫分词.Analysis是通过Analyzer来实现的. 当一个文档被索引时,每个Field都可能会创建一个倒排索引(Mapping可以设置不索引该Field). 倒排索引的过程就是将文档通过Analyzer分成一个一个的T…