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

九江专业的企业网站建设公司微博营销方案

九江专业的企业网站建设公司,微博营销方案,wordpress装饰插件,外贸出口工艺品怎么做外贸网站“包装”在Python 编程中经常会被提到的一个术语。意思是对一个已存在的对象进行包装#xff0c;可以是对一个已存在的对象#xff0c;增加#xff0c;删除#xff0c;或者修改功能。可以包装任何类型(type)作为一个类(class)的核心成员#xff0c;以使新对象的行为模仿你…“包装”在Python 编程中经常会被提到的一个术语。意思是对一个已存在的对象进行包装可以是对一个已存在的对象增加删除或者修改功能。可以包装任何类型(type)作为一个类(class)的核心成员以使新对象的行为模仿你想要的数据类型中已存在的行为并且去掉你不希望存在的行为。授权是包装的一个特性实现授权的关键点就是覆盖__getattr__()方法在其中包含一个对getattr()内建函数的调用。特殊方法__getattr__()的工作方式是当搜索一个属性时任何局部对象首先被找到(定制的对象)。如果搜索失败了则__getattr__()会被调用。换言之当引用一个属性时Python 解释器将试着在局部名称空间中查找那个名字如果没有在局部字典中找到则搜索类名称空间最后如果两类搜索都失败了搜索则对原对象开始授权请求此时__getattr__()会被调用。包装的一个简单例子classWrapMe(object):def __init__(self, obj):self.__data objdefget(self):return self.__datadef __repr__(self):return ‘self.__data‘def __str__(self):return str(self.__data)def __getattr__(self, attr):return getattr(self.__data, attr)这里将用到复数因为所有Python数值类型只有复数拥有属性 wrapcomplex WrapMe(3.54.2j)wrapcomplex(3.54.2j)wrapcomplex.real3.5wrapcomplex.imag4.2wrapcomplex.conjugate()(3.5-4.2j)wrapcomplex.get()(3.54.2j)访问复数的三种属性我们的自定义类中一种都没有定义对这些属性的访问是通过getattr()方法授权给对象。调用get()方法没有授权因为它是为我们的对象定义的。下一个使用包装类的例子用到一个列表。我们将会创建对象然后执行多种操作每次授权给列表方法。 wraplist WrapMe([123, foo, 45.67])wraplist.append(bar)wraplist.append(123)wraplist[123, foo, 45.67, bar,123]wraplist.index(45.67)2wraplist.count(123)2wraplist.pop()123wraplist[123, foo, 45.67, bar]注意只有已存在的属性是在此代码中授权的。特殊行为没有在类型的方法列表中不能被访问因为它们不是属性。一个例子是对列表的切片操作它是内建于类型中的而不是像append()方法那样作为属性存在的。也就是说切片操作符是序列类型的一部分并不是通过__getitem__()特殊方法来实现的。 wraplist[2]Traceback (most recent calllast):File, line 1, inTypeError:WrapMe objectdoes not support indexing然而还有一种作弊的方法访问实际对象通过get()方法和它的切片能力. reallist wraplist.get() reallist[3]bar这就是为什么需要实现get()方法了----仅仅是为了我们需要取得对原对象进行访问这种情况。另外一个例子描述了一个包装文件对象的类。我们的类与一般的文件对象行为完全一样, 除了在写模式中字符串只有全部为大写时才写入文件。下面提供一个文件类对象定制write()方法同时给文件对象授权其它的功能classCapOpen(object):def __init__(self, fn,moder, buf-1):self.fileopen(fn, mode, buf)def __str__(self):returnstr(self.file)def __repr__(self):returnself.filedefwrite(self, line):self.file.write(line.upper())def __getattr__(self, attr):returngetattr(self.file, attr) f CapOpen(/tmp/xxx,w)f.write(delegation example\n)f.write(faye is good\n)f.write(at delegating\n)f.close()f可以看到唯一不同的是第一次对CapOpen()的调用而不是open()。除了write()所有属性都已授权给文件对象: f CapOpen(/tmp/xxx, r) for eachLine inf:...printeachLine,...DELEGATION EXAMPLEFAYE IS GOODAT DELEGATING
http://wiki.neutronadmin.com/news/268610/

相关文章:

  • 网站建设推广用兴田德润wordpress无法进入仪表盘
  • 如何建设wap网站开发公司交钥匙流程
  • 什么事网站建设建水县住房和城乡建设局网站
  • 争对银行排队做一网站手机小游戏网站大全
  • 网站 建设appdjango 电商网站开发
  • 河池市住房和城乡建设局网站360平台怎么做网站优化
  • 福州科技网站建设怎么做改了网站关键词
  • flash 开发的网站河南省电力工程建设企业协会网站
  • 帝国做的网站怎么上传动漫设计就业前景
  • 佛山响应式网站建设公司html文件编辑器
  • 百度 网站描述营销网站制作皆选ls15227负责
  • 蜂蜜做的好网站或案例网站建设和网站
  • 做长直播的房地产网站曲靖公司网站建设
  • 公司做企业网站软件开发项目经理招聘
  • 网站开发微信端广州seo排名优化公司
  • 哪个网站可以做封面网页设计素材源文件
  • 凡科网做网站花多少钱网站开发技术学习
  • 如何制作手机免费网站模板下载机械建设网站制作
  • 公司域名更改 网站怎么做提示用wordpress制作表单
  • 网站备案 icp备案wordpress的虚拟主机
  • 黄埔网站建设网站建设放什么会计科目
  • 王稳庄网站建设中国建设银行网站的发展
  • 永久免费网站系统遵义网站建设哪家强
  • 做贸易的网站有哪些柒比贰wordpress主题
  • 郑州做网站kuihuakejidiscuz
  • 基于响应式设计的网站建设wordpress如何添加二级菜单
  • 给一个企业做网站苏州建设职业培训中心网站
  • 网站技术部门架构杭州网站建设优化案例
  • 网站关键词怎么改dz整站免费网站建设
  • 阿里巴巴网站谁做的 天堂最新版在线资源