zoukankan      html  css  js  c++  java
  • ###类的特殊成员方法

    ###类的特殊成员方法
    #__call__ 对象后面加括号,触发执行。
    ##注:构造方法的执行是由创建对象触发的,即:对象 = 类名():而对于__call__方法的执行是由对象后加括号触发的,即:对象()或者类()()
    class Dog (object):
    def __init__(self,name,addr):
    self.name = name
    self.addr = addr
    def blak(self):
    print("%s 叫声很好听哦。。。"%self.name)
    def __call__(self, *args, **kwargs):
    print(args,kwargs)
    def __str__(self):
    return "<obj:%s>"%self.name


    dl = Dog("Caicai","22")
    dl(1,2,3,4,name="Caicai")

    ###__dict__查看类或对象中的所有成员
    print(Dog.__dict__)###查看类中的所有对象方法
    ##输出:{'__module__': '__main__', '__init__': <function Dog.__init__ at 0x057F6C90>, 'blak': <function Dog.blak at 0x057F6C48>, '__call__': <function Dog.__call__ at 0x057F6C00>, '__dict__': <attribute '__dict__' of 'Dog' objects>, '__weakref__': <attribute '__weakref__' of 'Dog' objects>, '__doc__': None}
    print(dl.__dict__)##获取当前对象的成员
    ##输出:{'name': 'Caicai', 'addr': '22'}


    ###__str__如果一个类中定义了__str__方法,那么在打印对象时,默认输出该方法的返回值。
    print(dl)
    ##输出:<obj:Caicai>

    ###__getitem__/__setitem__/__delitem__
    ###用于索引操作/如字典。以上以上分别表示获取、设置、删除数据
    class Foo (object):
    def __getitem__(self, key):
    print("__getitem__",key)
    def __setitem__(self,key,value):
    print("__setitem__",key,value)
    def __delitem__(self, key):
    print("__delitem__",key)

    obi = Foo()










    以上内容作为课堂笔记,如有雷同,请联系于我
  • 相关阅读:
    vue第一天
    wnf微信公众号总结
    node-sass安装失败解决方法
    移动app第一天
    sublime的快捷键(常用)
    JMeter——项目——导出结果到excel(先导入数据库——再从数据库导出为excel)
    JMeter——项目——导出结果到excel
    JMeter——项目——注册、登录、充值、保存执行结果
    JMeter——cookie管理
    JMeter——配置元件——httpcookie管理器
  • 原文地址:https://www.cnblogs.com/ArtisticMonk/p/8984277.html
Copyright © 2011-2022 走看看