python--内建属性

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python--内建属性相关的知识,希望对你有一定的参考价值。

一、常用内建属性

常用专有属性说明触发方式
__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--内建属性的主要内容,如果未能解决你的问题,请参考以下文章

python--内建属性

Python常用内建方法:__init__,__new__,__class__的理解

内建属性内建函数

Python class的属性访问控制和内建函数重写实现高级功能以及@property

Python类与对象最全总结大全(类实例属性方法继承派生多态内建函数)

Python 学习之文件对象的属性和方法简介