2019年9月22日 类的装饰器

装饰器本身就是函数

回顾:

def deco(func):
    print(‘>>deco>>‘)
    return func

@deco # 做了 这么一件事情:test=deco(test)
def test():
    print(‘testing‘)

test()

》》》》》》

>>deco>>
testing

def deco(obj):
    print(‘>>deco>>‘,obj)
    obj.x=1
    obj.y=2
    obj.z=3
    return obj

@deco #Foo=deco(Foo)
class Foo:
    pass

f1=Foo()
print(Foo.__dict__)

>>>>>>

>>deco>> <class ‘__main__.Foo‘>
{‘__module__‘: ‘__main__‘, ‘__dict__‘: <attribute ‘__dict__‘ of ‘Foo‘ objects>, ‘__weakref__‘: <attribute ‘__weakref__‘ of ‘Foo‘ objects>, ‘__doc__‘: None, ‘x‘: 1, ‘y‘: 2, ‘z‘: 3}

def deco(obj):
    print(‘>>deco>>‘,obj)
    obj.x=1
    obj.y=2
    obj.z=3
    return obj

@deco
def test():#验证一切皆对象
    print(‘testing‘)
print(test.__dict__)

》》》》

>>deco>> <function test at 0x10203d048>
{‘x‘: 1, ‘y‘: 2, ‘z‘: 3}

原文地址:https://www.cnblogs.com/python1988/p/11569029.html

时间: 2024-11-09 02:38:00

2019年9月22日 类的装饰器的相关文章

33.《高血压看这本就够了》摘录-陈罡——2019年12月22日

.bodyContainer { font-family: Arial, Helvetica, sans-serif; text-align: center; padding-left: 32px; padding-right: 32px; } .notebookFor { font-size: 18px; font-weight: 700; text-align: center; color: rgb(119, 119, 119); margin: 24px 0px 0px; padding:

阮一峰网络日志 第44期 2019年02月22日

http://www.ruanyifeng.com/blog/2019/02/weekly-issue-44.html 声明:链接及文章内容为原博主阮一峰原创. 原文地址:https://www.cnblogs.com/sanen/p/10721366.html

2019年7月22日星期一,简单的总结一下

//什么是类??? 类就是具有相同属性和服务的一组对象的集合.它为属于该类的所有对象提供了统一的抽象描述,其内部包括属性和服务两个主要部分 // 定义一个类 使用class 类名 {大括号内部写代码} // 类名尽量使用大写字母开头 class Person{   } //使用var 去声明内部的变量,但是: 这个变量尽量不要给初始值,因为给了初始值之后调用的全部都是这个值 class Person{ var $name; var $age; 等等------ } class Person{ v

2019年7月25日 类的继承 1

面向对像: 继承,多态,封装 class ParentClass1: pass class ParentClass2: pass class SubClass(ParentClass1):#单继承 pass class SubClass2(ParentClass1,ParentClass2):#多继承 pass 子类定义的属性如果喝父类属性重名了,则优先调用子类的,没有覆盖这一说 什么时候用继承: 1.当类中有显著不同,并且较小类事较大类所需要的组件时,用组合. 2.当类中有许多相同功能,提取这

2019年8月22日 星期四(总结重要的)

WebSocket 比如A,B,C3人同时在一个页面上浏览,A对B进行了评论,并且提到了C.传统的架构,B,C将无法感知到,只有B,C再次拉取内容时,才会得到此信息.显然B ,C错过了与A交互的最佳时机,而且得知信息的时间延后了很多. 传统的PULL模式,也可以通过定时轮询的方式来尝试拉取数据.但这种技术 1是并不是实时的,信息还是需要到了一定时间间隔才可以得到. 2,这种方式可能大部分请求是无效的,白白浪费了一次网络请求.还造成了web Server的负载大大增高. 真正的PUSH技术目前有3

String,Random,Math 等一些Object对象(2019年10月22日)

String: 在java的底层中,String使用final char[ ]来存放字符串的,final决定了字符串是不可以被更改的,只能重新赋值 而在字符串中还有两个可以更改内容的方法:1.StringBuffer  2.StringBuilder  (字符串内容可以变.java.lang) 当我们需要频繁的变更字符串的内容使用.不能像String一样通过=来赋值,必须要通过构造方法. StringBuffer sb=new StringBuffer("一个StringBuffer...&qu

2019年3月22日

今日java开课,下午老师讲解了java的第一节课,有关于html的框架,为了自己方便以后也会在日记中添加一些便签方便自己使用. <!doctype html>                     这是声明,我是一个html框架.如同盖屋子一样一眼就知道这是一间屋子<html>                                    这是双标语,有个结束有个结尾,所有的代码都在这里面写完<head>                          

2019年8月22日 星期四(怎样成为PHP大牛)

1.服务器方面,各种PHP部署方案烂熟,Lvs,keepalived,nginx,apache,docker,换句话说其战力值相当于一个高级运维,迅速定位并排除PHP运行中的各种问题. 2.数据库方面,mysql,red is,memcache,mongodb等常见PHP有关的数据库通杀,性能调优方案信手拈来,大数据高并发处理方案如数家珍. 3.编程能力上,除PHP外,还至少精通C语言.有开源PHP扩展贡献.各种设计模式精通,代码精炼无懈可击.熟悉各种算法.写个PHP框架不在话下.熟悉常见的PH

2019年8月22日 星期四(杂谈)

用学物理.数学的方法学编程语言是行不通的,编程需要的是实践. Java 学Java的目的很明确,为了找一份好工作. 面向对象.J2EE.Java设计模式.SSH的书买了好几本.最后还是没能够入门. 原因我后来分析主要是2点, 1.Java太复杂了,根本就不适合初学者.2.犯了和学习C语言同样的错误,读书太多,实践太少(主要是不会搭建Java的开发环境). 原文地址:https://www.cnblogs.com/liang-peng-zhan/p/11395949.html