首页 > 编程语言 > 详细

python--内建属性

时间:2018-01-21 17:16:18      阅读:191      评论:0      收藏:0      [点我收藏+]

一、常用内建属性

常用专有属性说明触发方式
__init__ 构造初始化函数 创建实例后,赋值时使用,在__new__
__new__ 生成实例所需属性 创建实例时
__class__ 实例所在的类 实例.__class__
__str__ 实例字符串表示,可读性 print(类实例),如没实现,使用repr结果
__repr__ 实例字符串表示,准确性 类实例 回车 或者 print(repr(类实例))
__del__ 析构 del删除实例
__dict__ 实例自定义属性 vars(实例.__dict__)
__doc__ 类文档,子类不继承 help(类或实例)
__getattribute__ 属性访问拦截器 访问实例属性时
__bases__ 类的所有父类构成元素 类名.__bases__

 

 

  1.属性拦截器的使用

技术分享图片
class Itcast(object):
    def __init__(self,subject1):
        self.subject1 = subject1
        self.subject2 = cpp

    #属性访问时拦截器,打log
    def __getattribute__(self,obj):
        if obj == subject1:
            print(log subject1)
            return redirect python
        else:   #测试时注释掉这2行,将找不到subject2
            return object.__getattribute__(self,obj)

    def show(self):
        print(this is Itcast)

s = Itcast("python")
print(s.subject1)
print(s.subject2)

#结果
log subject1
redirect python
cpp
属性拦截器的使用

 

python--内建属性

原文:https://www.cnblogs.com/peilanluo/p/8324559.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!