Python初学者笔记(六):白话讲“装饰器”,你看不懂算我笨!
初学者又遇到难题了吧?听都没听说过,装饰器……英文:decorator,啥意思?室内装饰师,油漆匠,适于室内装饰的…… 听不懂,更不知道啥意思,怎么用了吧?这不可怕,可怕的是那些大神,把这个东西写的巨复杂,你要看懂这个概念,还先要去学10个其它的概念,回来再看还不一定能看懂。 日常生活中有这种情况,商场刚装修完,都是大玻璃门,怕有人撞上,就要在上面用油漆写“小心琉璃”……但是玻璃太多,都写上字太费劲,干脆就用油漆画个叉就达到目的了。用油漆简单装饰一下,完成省得有人撞上和指路的功能。 “装饰器”就是做个装修标记,并且有它的功能,比如“小心玻璃”和“指路”,看到这个标记你就知道它要表达什么意思了,按着它的指示来肯定没错。 在Python里装饰器的定义:在程序运行时,增加动态功能的方式,称之为“装饰器”,装饰器本质上也是一个Python函数。 那么问题来了,有可能初学者对这个定义里的 函数 不理解,不得不多讲一点。 函数,“数”好理解,“函”本意就是一种平级之间的信,比如两个单位传达或者反馈信息。 假设有这样一种情况,你要出去旅游购物,又怕被黑,在出发前,找到好朋友诸葛不亮出主意,他给了你一个密函,告诉你到地方再打开。等你到地方打开一看,上写5个大字“报价砍一半”。接下来买什么东西,都按这个原则来,这个就是最基本的函数了。 写成公式:购买价格=对方报价乘0.5,这个公式就是函数公式