说到装饰器,就不得不说python自带的三个装饰器:

1、@property 将某函数,做为属性使用

@property 修饰,就是将方法,变成一个属性来使用。

class A():

@property

def pfunc(self):

return self.value

@pfunc.setter

def pfunc(self,value):

self.value = value

@property

def pfunc1(self):

print('this is property')

if __name__=="__main__":

A.pfunc = 9

print A.pfunc

A.pfunc1

2、@classmethod 修饰类的方式

带修饰类方法:cls做为方法的第一个参数,隐式的将类做为对象,传递给方法,调用时无须实例化。

普通函数方法:self做为第一个参数,隐式的将类实例传递给方法,调用方法时,类必须实例化。

class A():

def func(self,x,y):

return x * y

@classmethod

def cfunc(cls,x,y):

return x * y

if __name__=="__main__":

print A().func(5,5)

print A.cfunc(4,5)

3、@staticmethod 修饰类的方式

1)是把函数嵌入到类中的一种方式,函数就属于类,同时表明函数不需要访问这个类

2)使用修饰服,修饰方法,不需要实例化

class A():

def func(self,x,y):

return x * y

@staticmethod

def sfunc(x,y):

return x * y

if __name__=="__main__":

print A.sfunc(6,5)

Python基础(七) python自带的三个装饰器

说到装饰器,就不得不说python自带的三个装饰器: 1.@property   将某函数,做为属性使用 @property 修饰,就是将方法,变成一个属性来使用. class A(): @prope ...

python is、==区别;with;gil;python中tuple和list的区别;Python 中的迭代器、生成器、装饰器

1. is 比较的是两个实例对象是不是完全相同,它们是不是同一个对象,占用的内存地址是否相同 == 比较的是两个对象的内容是否相等 2. with语句时用于对try except finally 的优 ...

13、python中的函数(闭包与装饰器)

一.嵌套函数 函数的内部又再定义另一个函数,这个函数就叫嵌套函数,里面含函数就叫内部函数. 示例: 二.返回函数 函数可以接收函数对象作为参数,同理函数也能返回一个函数对象作为返回值. 示例: 返回函 ...

python 全栈开发,Day11(函数名应用,闭包,装饰器初识,带参数以及带返回值的装饰器)

一.函数名应用 函数名是什么?函数名是函数的名字,本质:变量,特殊的变量. 函数名(),执行此函数. python 规范写法 1. #后面加一个空格,再写内容,就没有波浪线了. 2.一行代码写完,下面 ...

python带参数的类装饰器

# -*- coding: utf-8 -*- # author:baoshan # 带参数的类装饰器(和不带参数的类装饰器有很大的不同) # 类装饰器的实现,必须实现__call__和__init_ ...

Python不带参数的类装饰器

# -*- coding: utf-8 -*- # author:baoshan # 不带参数的类装饰器 # 类装饰器的实现,必须实现__call__和__init__两个内置函数. # __init ...

Python带参数的函数装饰器

# -*- coding: utf-8 -*- # author:baoshan # 带参数的函数装饰器 def say_hello(country): def wrapper(func): def ...

Python 全栈开发五 迭代器 生成器 装饰器

一.迭代器 迭代协议:对象必须提供一个next方法,执行该方法后会返回迭代的下一项或者抛出Stopiteration异常,终止迭代.切只能往前,不能倒退. 可迭代对象:遵循迭代写一点对象就是可迭代对象 ...

Python开发基础-Day7-闭包函数和装饰器基础

补充:全局变量声明及局部变量引用 python引用变量的顺序: 当前作用域局部变量->外层作用域变量->当前模块中的全局变量->python内置变量 global关键字用来在函数或其 ...

随机推荐

python signal(信号)

信号的概念 信号(signal)--     进程之间通讯的方式,是一种软件中断.一个进程一旦接收到信号就会打断原来的程序执行流程来处理信号. 几个常用信号: SIGINT     终止进程  中断进 ...

html5菜单折纸效果

类似猎豹浏览器安装时的用户须知效果. html文件代码,保存为html文件打开:

.Net基础学习

http://www.cnblogs.com/iPragmatic/p/4930396.html memcache的介绍与应用场景 http://www.cnblogs.com/nixi8/p/493 ...

Day8 - Python网络编程 Socket编程

Python之路,Day8 - Socket编程进阶   本节内容: Socket语法及相关 SocketServer实现多并发 Socket语法及相关 socket概念 socket本质上就是在2台 ...

javascript 事件响应

1.基本事件 2.点击事件

python 三个内置装饰器,python中自带的三个装饰器相关推荐

  1. Python学习(14)--内置函数

    Python学习(14)--内置函数 1.Python内置函数 在Python中有很多的内置函数供我们调用,熟练的使用这些内置函数可以让编写代码时事半功倍,所谓内置函数就是那些Python已经预定义并 ...

  2. [转载] (三)Python关键字和内置函数

    参考链接: Python中的数学函数 4(特殊函数和常量) 一.Python的关键字 和其他语言一样,关键字有特殊含义,并且关键字不能作为变量名.函数名.类名等标识符. 快速查看关键字的方法除了上cs ...

  3. Python函数05/内置函数/闭包

    Python函数05/内置函数/闭包 内容大纲 1.内置函数(二) 2.闭包 1.内置函数(二) #(abs()) 绝对值--返回的都是正数 #print([abs(i) for i in lst]) ...

  4. python只能使用内置数据库_隐藏彩蛋:你知道python有一个内置的数据库吗?

    本文转载自公众号"读芯术"(ID:AI_Discovery). 如果你是软件开发人员,相信你一定知道甚至曾经使用过一个非常轻量级的数据库--SQLite.它几乎拥有作为一个关系数据 ...

  5. python之路——内置函数和匿名函数

    楔子 在讲新知识之前,我们先来复习复习函数的基础知识. 问:函数怎么调用? 函数名() 如果你们这么说...那你们就对了!好了记住这个事儿别给忘记了,咱们继续谈下一话题... 来你们在自己的环境里打印 ...

  6. dbeaver无法修改表数据_隐藏彩蛋:你知道python有一个内置的数据库吗?

    全文共2520字,预计学习时长7分钟 如果你是软件开发人员,相信你一定知道甚至曾经使用过一个非常轻量级的数据库--SQLite.它几乎拥有作为一个关系数据库所需的所有功能,而且这些有功能都保存在一个文 ...

  7. 初学者python笔记(内置函数_2)

    这篇初学者笔记是接着上一篇初学者python笔记(内置函数_1)的.同样都是介绍Python中那些常用内置函数的. max()和min()的高级用法 我们都知道,max():取最大值,min():取最 ...

  8. python提供的内置函数有哪些_python内置函数介绍

    内置函数,一般都是因为使用频率比较频繁,所以通过内置函数的形式提供出来.对内置函数通过分类分析,基本的数据操作有数学运算.逻辑操作.集合操作.字符串操作等. 说起我正式了解内置函数之前,接触到的是la ...

  9. python入门笔记——内置函数作业

    python入门笔记--内置函数作业 # 求三组连续自然数的和:求出1到10,20到30,35到45的三个和 sum1 = sum(range(1,11)) sum2 = sum(range(20,3 ...

最新文章

  1. PCL之C++动态内存学习
  2. 5000 字的 Spring MVC 全面大总结
  3. 在浏览器中输入 Google.com 回车之后发生了什么?
  4. 2011软考软件设计师:C语言代码规范问题(1
  5. JS正则表达式验证账号、手机号、电话和邮箱
  6. 【C++】typename
  7. Xshell6突然连不上K8S所在的虚拟机
  8. [深度学习-TF2实践]应用Tensorflow2.x训练DenseNet模型在Cifar10数据上,测试集准确率90.07%
  9. 编程范式 —— 函数式编程入门
  10. XCODE---个人常用快捷键整理
  11. 代替httpclient JAVA_除了HttpClient,Java还有什么类似HttpClient的技术
  12. JS开发工具WebStorm使用快捷键
  13. 若变量已正确定义并赋值,不符合c语言语法的表达式是____.,若变量已正确定义并赋值,表达式______不符合C语言语法.A、a*b/c; B、3.14%2 C、2,b D、a/b/...
  14. 大型体育场馆应急照明设计
  15. GET 请求参数过大导致HTTP错误码 414 / 500 的问题
  16. mil,mm与inch之间的转换
  17. 环境变量(PATH)的那些事
  18. Gmail 中出现紫字的怪现象
  19. resnet50结构图
  20. appinventor mysql_利用AppInventor实现登录功能(完整版).docx

热门文章

  1. Robosense解码pcap包并使用ros发布
  2. Vmware Linux虚拟机全屏
  3. 禁止的回文子串 Dyslexic Gollum
  4. 新媒体指数评价方法:相应计算公式
  5. List集合常见问题
  6. GAN学习笔记-李宏毅:GAN Lecture 7 (2018): Info GAN, VAE-GAN, BiGAN
  7. IMU预积分--详细推导过程
  8. 初等数论--二次剩余与二次同余方程--勒让德符号Legendre,高斯引理,雅可比符号Jacobi symbol
  9. 手机大战略的游戏设计(3)
  10. Python识别验证码----网易易盾推理拼图