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

核动力网站建设网站做强制访问控制

核动力网站建设,网站做强制访问控制,虾皮网站有的做吗,p2p网站建设目录 ❤ 类的高级函数 ❤ __str__ ❤ __getattr__ ❤ __setattr__ ❤ __call__ ❤ 类的高级函数 今天来为大家介绍几个类中的高级函数#xff0c;它们也是类中的内置函数。通过使用它们#xff0c; 会让我们在进行类开发的时候更加的顺手#xff0c;接下来我们就…目录 ❤  类的高级函数 ❤  __str__ ❤  __getattr__  ❤ __setattr__ ❤  __call__ ❤  类的高级函数 今天来为大家介绍几个类中的高级函数它们也是类中的内置函数。通过使用它们 会让我们在进行类开发的时候更加的顺手接下来我们就看看是哪些函数让我们一个个的认识它们。 ❤  __str__ 不知道大家再写程序是打印一个实例化对象时打印的其实时一个对象的地址。而通过__str__()函数就可以帮助我们打印对象中具体的属性值或者你想得到的东西。 因为在python中调用print()打印实例化对象时会调用__str__(),如果__str__()中有返回值就会打印其中的返回值。 class ss:def __init__(self,age,name):self.age ageself.name namedef __str__(self):return str(self.age),,wozenmezhemeshuai,,self.name if __name____main__:s ss(21,aitebao)print(s) 输出结果 21,,wozenmezhemeshuai,,aitebao ❤  __getattr__  __getattr__ 使用:获取属性的时候如果该属性存在就输出其值如果不存在则会去找_getatrr_,我们可以通过重写该方法可以实现动态属性的操作。如果只允许添加指定的属性需要用__solts__限制动态添加变量这里不做详细讲解 from requests_html import HTMLSession class UrlGenerator(object):def __init__(self, root_url):self.url root_urlself.sessionHTMLSession()def __getattr__(self, item):if item get:self.get_html()return UrlGenerator({}.{}.format(self.url, item))def get_html(self):req self.session.get(self.url)print(req.text)url_gen UrlGenerator(https://www) url_gen.baidu.com.get充分利用__getattr__会在没有查找到相应实例属性时被调用的特点方便的通过链式调用生成对应的url在碰到get方法的时候调用函数获取其网页源码。 可调用的对象更加的优雅链式的操作不仅优雅而且还能很好的说明调用的接口的意义。 下面展示一个__getattr__经典应用的例子可以通过获取属性值的方式获取字典的键值。 class ObjectDict(dict):def __init__(self, *args, **kwargs):super(ObjectDict, self).__init__(*args, **kwargs)def __getattr__(self, name):value self[name]if isinstance(value, dict):value ObjectDict(value)return valueif __name__ __main__:od ObjectDict(asf{a: 1}, dTrue)print(od.asf,od.asf.a) # {a: 1} 1print(od.d) # True❤ __setattr__ __getattr__(用法性质一样)和__setattr__用来对属性的设置和取值进行处理 class Book(object):def __setattr__(self, name, value):if name value:object.__setattr__(self, name, value - 100)else:object.__setattr__(self, name, value)def __getattr__(self, name):try:return object.__getattribute__(name)except:return name is not found!def __str__(self):return self.name cost : str(self.value)c Book() c.name Python c.value 100 print c.name print c.value print c print c.Type 上面的例子中在赋值书的value属性时偷偷的将value减去了。输出结果 Python 0 Python cost : 0 Type is not found! ❤  __call__ 在Python中函数其实是一个对象 f abs f.__name__ abs f(-123) 123 由于 f 可以被调用所以f 被称为可调用对象 所有的函数都是可调用对象 一个类实例也可以变成一个可调用对象只需要实现一个特殊方法__call__() 我们把 Person 类变成一个可调用对象 class Person(object):def __init__(self, name, gender):self.name nameself.gender genderdef __call__(self, friend):print My name is %s... % self.nameprint My friend is %s... % friend 现在可以对 Person 实例直接调用 p Person(Bob, male) p(Tim) My name is Bob... My friend is Tim... 单看 p(Tim) 你无法确定 p 是一个函数还是一个类实例所以在Python中函数也是对象对象和函数的区别并不显著。 任务 改进一下前面定义的斐波那契数列 class Fib(object):     ??? 请加一个__call__方法让调用更简单 f Fib() print f(10) [0, 1, 1, 2, 3, 5, 8, 13, 21, 34] 可以把实例对象用类似函数的形式表示进一步模糊了函数和对象之间的概念  class Fib(object):def __init__(self):passdef __call__(self,num):a,b 0,1;self.l[]for i in range (num):self.l.append(a)a,b b,abreturn self.ldef __str__(self):return str(self.l)__rept____str__f Fib() print f(10) 输出: [0, 1, 1, 2, 3, 5, 8, 13, 21, 34]
http://www.lakalapos1.cn/news/17516/

相关文章:

  • 深圳罗湖医疗集团网站建设pexels免费素材网
  • 徐州有哪些制作网站的公司吗北京网页设计设计培训
  • 无锡网站设计网站网龙网络公司简介
  • 茂名seo网站推广中国能建电子商务平台
  • 网站搭建费用计入什么科目wordpress 多域名 插件
  • 协会秘书处工作建设 网站怎么样做兼职网站
  • 如何建立自己的网站免费的seo网站膝
  • 3d设计网站dw 做静态网站
  • 做影集的网站或软件下载做网站后台数据库建设
  • 哪些网站是增值网邯郸之窗官网
  • 网站页脚怎么做美观利用软件做许多网站违法吗
  • 上海 企业 网站建设wordpress4.x版本
  • 新洲区城乡建设局网站网站设计工资怎么样
  • 信息安全网站建设方案书公司网站一般是怎么做
  • 研学网站开发需求文档网站建设学什么书
  • 网站建设论文大全wordpress 阿里oss
  • 网站建设的专业性对搜索引擎营销的影响网站开发 q3687474
  • 做网站需要会编程语言吗做网站视频一般上传到哪里
  • 中国建设人才服务信息网是正规网站企业做网站400电话作用
  • 淄博亿泰网站建设推广微商城网站建设价位
  • 淮北网站建设设计关于地产设计网站
  • 电商网站建设流程网站建设合同属于什么合同
  • 群晖 网站建设广州企业网站定制
  • 哪个网站可以做制图兼职google翻译
  • 企业网站制作教程视频wordpress 新手
  • 唯品会网站建设建议广州市网站建设公
  • 响水建设局网站河南住房建设部网站
  • 网站制作 wordpressWordPress安装jetpack
  • 微网站和网站的区别商城平台系统
  • 企业网站推广哪个公司好青岛网站建设哪个好