当前位置: 首页 > news >正文

做家装的网站有哪些专业的家居行业网站开发

做家装的网站有哪些,专业的家居行业网站开发,免费行情网站在线,房地产行业发展前景分析Python中的装饰器是通过利用了函数特性的闭包实现的#xff0c;所以在说装饰器之前#xff0c;我们需要先了解函数特性#xff0c;以及闭包是怎么利用了函数特性的。 1.函数特性 Python中的函数特性总的来说有四点: 1.函数作为变量传递 def add(x):return x 1a add 2.函数…  Python中的装饰器是通过利用了函数特性的闭包实现的所以在说装饰器之前我们需要先了解函数特性以及闭包是怎么利用了函数特性的。 1.函数特性   Python中的函数特性总的来说有四点:     1.函数作为变量传递 def add(x):return x 1a add 2.函数作为参数传递 def add(x):return x 1def excute(f):return f(3)excute(add) 3.函数作为返回值 def add(x):return x 1def get_add():return add 4.函数嵌套及跨域访问 def outer():x 1def inner():print(x) inner()outer()2.闭包的实现   Python中的装饰器是通过闭包实现的简单地讲闭包就是引用了外部变量的内部函数而闭包的实现正是利用了以上函数特性下面我们来看看闭包是如何实现的   def outer(x):def inner(): # 函数嵌套return x # 跨域访问引用了外部变量xreturn inner # 函数作为返回值closure outer(外部变量) # 函数作为变量赋给closure print(closure()) # 执行闭包#结果 外部变量在这个流程中outer接收到外部变量传给inner作为它return的参数最后outer返回inner函数返回的inner函数作为变量传递给closure最后执行closure这个函数对象实际上是执行了inner这个函数返回了 外部变量这样就实现了一个简单的闭包。   上面这个闭包例子只用到了之前说的三个函数特性,函数作为参数这个特性好像并没有用上,下面做一下延伸,把outer的参数x用一个函数对象替代 def func():return 函数funcdef outer(x):def inner(): # 函数嵌套return 戴了inner牌帽子的 x() # 跨域访问引用了外部变量xreturn inner # 函数作为返回值closure outer(func) # 函数func作为outer的参数函数作为变量赋给closureprint(func()) # 执行原始函数 print(closure()) # 执行闭包# 结果 函数func 戴了inner牌帽子的 函数func观察上面的例子,从func()到closure(),函数func就是被装饰了一番变成了clousre,分析一下具体过程:   closure实际上是outer(func)func作为参数传进outerouter的子函数inner对func返回的结果进行了一番装饰返回了一个装饰后的结果最后outer返回inner可以说inner就是装饰后的func这就是一个函数被装饰的过程重点在于执行 outer(func) 这个步骤。 3.装饰器语法糖   Python给我们提供了语法糖 我们想执行 outer(func) 的时候只需要把outer函数到func函数的上面就可以了。 def outer(x):def inner():return 戴了inner牌帽子的 x()return innerouter def func():return 函数funcprint(func())#结果 戴了inner牌帽子的 函数func    打印的结果跟我们执行closure()的结果是一样的也就说明 加了outer装饰器的func 等价于 outer(func)所以我们很清楚地知道装饰器的作用是什么了就是拿来把被装饰的函数作为参数传递到装饰器函数里面加工的最后执行被装饰函数的时候就相当于执行了一个加工后的函数。 以上就是Python中装饰器的实现原理。   4.装饰器的使用   Python中装饰器用处很多,下面写一个例子感受一下.   类中的私有属性在类外部是无法访问的(就当无法访问好了,毕竟鬼叔是不推荐访问的),而这时可以在类中定义一个方法返回这个私有属性然后在外部调用就可以得到这个私有属性,但是这样看起来就和正常的调用属性的方式不一样了(obj.属性),这时候就可以用property来实现想要的效果. class Person:def __init__(self,name,age):self.name nameif type(age) is int:self.__age ageelse:print( 你输入的年龄的类型有误,请输入数字)propertydef age(self):return self.__ageage.setterdef age(self,a):判断,你修改的年龄必须是数字if type(a) is int:self.__age aelse:print(你输入的年龄的类型有误,请输入数字)age.deleterdef age(self):del self.__agep1 Person(帅哥,20) print(p1.age) del p1.age 用装饰器实现属性  转载于:https://www.cnblogs.com/luxiangyu111/p/9671395.html
http://www.zqtcl.cn/news/727559/

相关文章:

  • 网站建设的需求怎么写网站头条怎么做
  • 宜春seoseo网站自动推广
  • 张家界酒店网站建设人人设计网网址
  • 电脑系统做的好的网站什么网站做一手房好
  • 为什么用MyEclipse做网站上海境外输入
  • 做的比较好的小众网站go 是做网站的吗
  • 手机网站快速建设网站接入支付宝需要网站备案吗
  • 贵州省住房城乡建设厅网站农业营销型网站源码
  • 网站开发使用哪种语言wordpress 免费主机
  • 山东免费网站制作绿色食品网站模板
  • 做搜狗网站优化点广州网站开发人
  • 网站建设违法行为广东seo快速排名
  • 体育彩票网站开发该做哪些步骤深圳网站建设策划方案
  • 金华网站建设电话做网站用虚拟机还是服务器
  • 整容医院网站建设目的顺企网贵阳网站建设
  • 微网站 htmlseo做的好的网站
  • 免费做网站推荐东平网页设计
  • 所有复刻手表网站wordpress 标题简码
  • 云南建设厅建设网站首页网站建设s
  • 网站用户需求报告网站充值怎么做的
  • 找代码的网站有一个网站是做釆购的是什么网
  • 做外贸最好的网站有哪些php网站开发工程师待遇
  • 做推文封面的网站首页>新闻>正文 网站怎么做
  • 黄页推广引流网站企业网站导航菜单
  • 合肥专门做网站的公司广告代理商是什么意思
  • wordpress显示一个类目seo推广
  • 营销型电子商务网站特点如何申请免费空间和域名
  • 网站建设 主要学是么vk汉化网站谁做的
  • 做英文网站费用多少学校网站开发毕业设计
  • 红动中国设计网站官网网页制作的论文