栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

列举面向对象中带双下划线的特殊方法,如:new、init

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

列举面向对象中带双下划线的特殊方法,如:new、init

  • new:生成实例

  • init:生成实例的属性

  • call:实例对象加( )会执行def call:... 方法里边的内容。

    del:析构方法,当对象在内存中被释放时,自动触发执行。如当 del obj 或者应用程序运行完毕时,执行该方法里边的内容。

    enterexit:出现with语句,对象的enter被触发,有返回值则赋值给as声明的变量;with中代码块执行完毕时执行exit里边的内容。

    module:表示当前操作的对象在那个模块 obj.moduleclass :表示当前操作的对象的类是什么 obj.class

    doc:类的描述信息,该描述信息无法被继承

    str:改变对象的字符串显示 print函数 --->obj.str()repr:改变对象的字符串显示 交互式解释器 --->obj.repr()format:自定制格式化字符串

    slots:一个类变量 用来限制实例可以添加的属性的数量和类型

    setitem,getitem,delitem__:

 

 

 

class Foo:    def __init__(self,name):        self.name=name    def __getitem__(self, item):        print(self.__dict__[item])    def __setitem__(self, key, value):        self.__dict__[key]=value    def __delitem__(self, key):        print('del obj[key]时,我执行')        self.__dict__.pop(key)    def __delattr__(self, item):        print('del obj.key时,我执行')        self.__dict__.pop(item)f1=Foo('sb')f1['age']=18f1['age1']=19del f1.age1del f1['age']f1['name']='alex'print(f1.__dict__)

 

 

 

get():调用一个属性时,触发set():为一个属性赋值时,触发delete():采用del删除属性时,触发

setattr,delattr,getattr :

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/363574.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号