在python中创建一个类,它不仅有我们自定义的属性和方法,还有与生俱来的一些属性和方法,我们叫它内建属性。

下面是类常用内建属性列表。

__init__

负责一个类实例化中的初始化操作

__new__

在创建实例化时发生作用,在__init__之前执行,主要作用是创建实例对象,典型的应用是在单利模式中.

class Singleton(object):

def __new__(cls, *args, **kw):

if not hasattr(cls, '_instance'):

org = super(Singleton, cls)

cls._instance = org.__new__(cls, *args, **kw)

return cls._instance

__class__

是示例对象的属性,该属性指向了实例化该对象的类,代表实例化该对象的抽象类,可以通过它调用类的方法和类属性。

class Test:

name = "抽象类"

def __init__(self):

self.name = '实例名字'

def test(self):

print('实例方法')

test = Test()

test.__class__.name

Out[21]: '抽象类'

test.__class__.test(1)

实例方法

__str__

实例化对象的字符串表示(代表名字),面向用户,通过print输出实例化类的结果

class Test:

def __str__(self):

return '这是实例化类的说明书'

test = Test()

print(test)

这是实例化类的说明书

__repr__

实例化对象的字符串表示,面向开发者的

class Test:

def __str__(self):

return '用户可见'

def __repr__(self):

return '开发者可见'

test = Test()

print(test)

用户可见

test

Out[30]: 开发者可见

在控制台输出实例化对象时的显示信息

__del__

当一个实例化对象被删除时,该方法将调用,该方法是执行删除对象的操作。

class Test:

def __del__(self):

print('我被删除了】')

test = Test()

del test

我被删了

__dict__

类或实例化对象的属性字典

class Test:

name = "抽象类"

def __init__(self):

self.name = '实例名字'

def test(self):

print('实例方法')

test = Test()

test.__dict__

Out[51]: {'name': '实例名字'}

Test.__dict__

Out[52]:

mappingproxy({'__dict__': ,

'__doc__': None,

'__init__': ,

'__module__': '__main__',

'__weakref__': ,

'name': '抽象类',

'test': })

__doc__

是对函数/方法/模块所实现功能的简单描述,但当指向具体对象时,会显示此

对象.

class Test:

"""我是说明书"""

test = Test()

test.__doc__

Out[60]: '我是说明书'

__getattribute__

属性拦截器,内部拦截修改某个属性的值

class Test:

def __init__(self):

self.name = '正常名字'

def __getattribute__(self, name):

return '拦截后名字'

test = Test()

test.name

Out[63]: '拦截后名字'

__bases__

查询类的父类元素

class A:

pass

class B:

pass

class C(A, B):

pass

C.__bases__

Out[94]: (__main__.A, __main__.B)

内建属性一般是不建议修改,如果要修改那么尽量将整套的内建属性复写,否则容易出现错误。

python内置类属性_python常用内建属性大全相关推荐

  1. python内置函数入门_Python入门-内置函数一

    什么是内置函数?就是python给你提供的拿来直接用的函数,比如print,input等等,截止到python版本3.6.2 python一共提供了68个内置函数,他们就是python直接提供给我们的 ...

  2. python内置序列类型_Python序列内置类型之元组类型详解

    Python序列内置类型之元组类型详解 1.元祖的概念 Python中的元组与列表类似,都是一个序列,不同的是元组的元素不能修改而已. 2.元组的创建 元组使用小括号,列表使用方括号. tup = ( ...

  3. python内置属性类_Python内置类属性,元类研究

    Python内置类属性 我觉得一切都是对象,对象和元类对象,类对象其实都是一样的,我在最后进行了证明,但是只能证明一半,最后由于元类的父类是type,他可以阻挡对object属性的访问,告终 __di ...

  4. Python常用内置类和常用内置函数汇总

    一:内置类:(1)常用内置类1,class int(object): """ int(x=0) -> integer int(x, base=10) -> i ...

  5. python支持保护类型_day14总结-内置类属性、私有化、保护及继承

    内置类属性 创建类的时候,系统默认为我们添加的类的属性 class Person: """人类""" number = 61 def __i ...

  6. 27、Python 面向对象(创建类、创建实例对象、访问属性、内置类属性、对象销毁、类的继承、方法重写、基础重载方法、运算符重载、类属性与方法、下划线双下划线)

    27Python面向对象(Python2) Python从设计之初就已经是一门面向对象的语言,正因为如此,在Python中创建一个类和对象是很容易的.本章节我们将详细介绍Python的面向对象编程. ...

  7. python内置函数分类_Python 69个内置函数分类总结

    1 内置函数 Python3解释器中内置了69个常用函数,属于底层的函数,它们到处可用.有些对大家来说比较熟悉,比如abs(), max(), sum()... 也有一些比较陌生,比如locals() ...

  8. python的内置字典数据类型_python 数据类型元组与字典内置方法

    1.元组 (1)元组是不可变的列表,能存多个值:如果多个值只有取得需求,没有改的需求,用元组最合理 (2)定义:在()内用逗号隔开,可以存任意类型的值 注意:当元组只有一个元素时,要在后面加逗号 # ...

  9. php内置类,yii2学习教程之5种内置行为类详解

    前言 众所周知学习所有知识都需要循序渐进,行为也是一样,在我们学会很牛逼的新建行为,然后轻松注入到组件类之前,先看看yii2框架为我们准备的5个内置的行为类,也许你刚要用到~话不多说了,来一起看看详细 ...

最新文章

  1. Stay hungry, Stay foolish---致所有迷茫的人
  2. 张亚勤清华AIR战队首次亮相,这阵容不是一般强
  3. 函数调用规范__cdecl和__stdcall的区别
  4. Bootstrap学习3
  5. Leetcode贪心 种花问题
  6. 【转】介绍几个图论和复杂网络的程序库 —— BGL,QuickGraph,igraph和NetworkX
  7. python如何操作excel 基础代码
  8. LVM的创建扩展缩减与删除
  9. 计算机网络—子网掩码的划分
  10. Android 爆发病毒,华米 OV 均受影响;微信宣战百度搜索;抖音遭约谈 | CSDN极客头条...
  11. linux先cd到mysql的运行路径下,Linux常用的服务器运维命令
  12. 跨地域为同事广播幻灯片
  13. 【卡号识别】基于matlab分割法银行卡数字识别【含Matlab源码 312期】
  14. testbench的简单例子和模板
  15. envi 监督分类超详细过程
  16. 高三老师给大一学生的一封信
  17. 钢丝流-BISU的战斗哲学
  18. 数字组合(算法竞赛进阶指南)
  19. 【HDU 2612 Find a Way(BFS)】(兼BFS入门笔记)
  20. 【PTA】输入一个正整数n(1≤n≤9),打印一个高度为n的、由“*”组成的直角三角形图案。当n=3时,输出如下直角三角形图案:

热门文章

  1. 什么是云存储网关CSG
  2. 一张图看懂SOA与微服务
  3. 【华为解决方案】 华为云架构解决方案
  4. Spring学习总结(24)——Spring配置文件加载路径总结
  5. Java基础学习总结(68)——有关Java线程方面的面试题
  6. Java基础学习总结(25)——Log4j快速入门教程
  7. markdown 本地链接_Markdown的使用
  8. bk3432开发的应用实例_SpringCloud应用在Kubernetes上的最佳实践—诊断(线上联调)...
  9. AWS推出RoboMaker,可构建智能机器人应用程序
  10. 震后十年,他重走那条生死送货线