前言 python内部有许多内建装饰器,它们都有特别的功能,下面对其归纳一下. 系列文章 python设计模式之单例模式(一) python设计模式之常用创建模式总结(二) python设计模式之装饰器详解(三) python设计模式之内置装饰器使用(四) python设计模式之迭代器与生成器详解(五) python自带装饰器 staticmethod staticmethod装饰器的功能是去除类的方法默认第一个参数是类的实例,使得该方法成为一个普通的函数,staticmethod是一个类,属于…
装饰器 简介 功能与格式 内置装饰器 @classmethod @propertry @staticmethod 其它 --------------------------------------------------------------------------------------------------------------------------------- 简        介 python中的解释器是你进入python大门的一道坎,不管你跨不跨过去它都在那里. ///装饰器…
python内置了property.staticmethod.classmethod三个装饰器,有时候我们也会用到,这里简单说明下 1.property 作用:顾名思义把函数装饰成属性 一般我们调用类方法成员,都是如下写法: class propertyTest(): def __init__(self,x,y): self.x = x self.y = y def square(self): return self.x * self.y pt = propertyTest(3,5) print…
# -*- coding: utf-8 -*- # author:baoshan class Student(object): def __init__(self, name): self.name = name @property def age(self): return self._age @age.setter def age(self, value): if not isinstance(value, int): raise ValueError("输入不合法:年龄必须为数值!&quo…
面向对象编程之classmethod和staticmethod classmethod 和 staticmethod都是python内置的装饰器 classmethod 的作用:给在类内部定义的方法装饰,将类的内部方法变为类的绑定方法 绑定方法的特殊之处是会将对象本省当作第一个参数传入方法中 类的绑定方法:由类来调用,哪个类调用,就默认将哪个类当作第一个参数传入 class DB: __data = "lee is a big haha!" def __init__(self, use…
python面向对象内置装饰器property,staticmethod,classmethod的使用 @property 装饰器作用及使用 作用:面向对象中的方法伪装成属性 使用如下: class Circle: def __init__(self,r): self.r = r @property def area(self): return 3.14*self.r**2 @property def perimeter(self): return 2*3.14*self.r C = Circl…
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…
组合: 夺命三问: 1.什么是组合? 组合指的是一个对象中,包含另一个或多个对象. 2.为什么要用组合? 减少代码的冗余. 3.如何使用组合? 耦合度: 耦: 莲藕 ---> 藕断丝连 - 耦合度越高: 程序的可扩展性越低. - 耦合度越低: 程序的可扩展性越高. 总结: - 继承: 继承是类与类的关系,子类继承父类的属性/方法,子类与父类是一种 “从属” 关系. - 组合: 组合是对象与对象的关系,一个对象拥有另一个对象中的属性/方法,是一种什么有什么的关系. # 组合实现 class Peo…
此系列文档: 1. 我终于弄懂了Python的装饰器(一) 2. 我终于弄懂了Python的装饰器(二) 3. 我终于弄懂了Python的装饰器(三) 4. 我终于弄懂了Python的装饰器(四) 四.装饰器的用法 通用装饰器(这里有一篇文档要补充) 如要制作通用装饰器(无论参数如何,您都可以将其应用于任何函数或方法),则只需使用*args, **kwargs: def a_decorator_passing_arbitrary_arguments(function_to_decorate):…