__doc__ # 输出类的描述信息
__module__ # 表示当前操作的对象在那个模块
__class__ # 表示当前操作的对象的类是什么
__init__ # 构造方法,通过类创建对象是,自动触发执行。
__del__ # 构造方法,当对象在内存中释放是,自动触发执行。
__call__ # 对象后面加括号,触发执行
注:构造方法的执行是由创建对象触发的,即:对象 = 类名();而对于__call__方法的执行是由对象后加括号触发的,即:对象()或者类()()
__dict__ # 查看类或对象中的所有成员
__str__ # 如果一个类中定义了__str__方法,那么在打印 对象 时,默认输出该方法的返回值。
__getitem__ # 用于索引操作,如字典。表示获取数据
__setitem__ # 用于索引操作,如字典。表示设置数据
__delitem__ # 用于索引操作,如字典。表示删除数据

**__new__**

创建类的两种方法:
1.普通方法
class Foo(object):
def func(self):
print('hello world!')
2.特殊方法
def func(self):
print('hello world!')
Foo = type('Foo',(object),{'func':func})
# type第一个参数:类名
# type第二个参数:当前类的基类
# type第三个参数:类的成员

**__new__**

new负责函数实例化时的内存空间开辟。早于__ini__的执行。
**metaclass**

class Foo(object,metaclass=MyType)
**__new__,__init__,__call__的使用说明**

    class Mytype(type):
def __call__(self, *args, **kwargs):
print('Mytype __call__')
obj = self.__new__(self)
self.__init__(obj, *args, **kwargs)
return obj def __new__(cls, *args, **kwargs):
print('Mytype __new__')
obj = type.__new__(cls, *args, **kwargs)
return obj
def __init__(self,*args,**kwargs):
print('Mytype __init__') class Foo(object,metaclass=Mytype):
def __init__(self,name):
print('Foo __init__')
self.name = name f = Foo('helei')
print(f.name)

说明:
首先你需要知道一下几点:
- python中一切接对象。(平时所说的对象和实例都是对象)
- __init__的作用是初始化函数属性作用是
- __new__的作用是生成对象的内存空间并返回
- __call__的作用是对象(或者可以说是实例)后面加括号,触发执行

python 类的特殊成员方法的更多相关文章

  1. Python 类的特殊成员方法详解

    class doges(object): """类的描述信息""" def __init__(self,name,food): self.n ...

  2. Python类的特殊成员方法

    __doc__ 类的描述信息. class dog: '''这是狗的类''' def __init__(self,name): self.name = name self.__age = None p ...

  3. 【Python】面向对象--类的特殊成员方法

    类的特殊成员方法 1. __doc__ 表示类的描述信息 class Func(object): '''__doc__方法是用来打印类的描述信息''' def tell(self): pass def ...

  4. Python面向对象类的特殊成员方法

    类的特殊成员方法:1.__doc__ : 打印类下面的注释 2.__module__和__class__:from lib.aa import C输出类被导出的模块名lib.aa,输出类的模块名和类名 ...

  5. python 面向对象静态方法、类方法、属性方法、类的特殊成员方法

    静态方法:只是名义上归类管理,实际上在静态方法里访问不了类或实例中的任何属性. 在类中方法定义前添加@staticmethod,该方法就与类中的其他(属性,方法)没有关系,不能通过实例化类调用方法使用 ...

  6. python类的高级属性

    ---恢复内容开始--- 类方法:通过@classmethod装饰器实现,类方法和普通方法的区别是,类方法只能访问类变量,不能访问实例变量,代码如下: class Person(object): de ...

  7. 【Python&数据结构】 抽象数据类型 Python类机制和异常

    这篇是<数据结构与算法Python语言描述>的笔记,但是大头在Python类机制和面向对象编程的说明上面.我也不知道该放什么分类了..总之之前也没怎么认真接触过基于类而不是独立函数的Pyt ...

  8. day6面向对象--类的特殊成员方法

    类的特殊成员方法 1. __doc__ 表示类的描述信息 class Func(object): '''__doc__方法是用来打印类的描述信息''' def tell(self): pass def ...

  9. python_105_类的特殊成员方法

    aa.py class C(): def __init__(self): self.name='QiZhiguang' 类的特殊成员方法: # 1. __doc__ 表示类的描述信息 class Do ...

随机推荐

  1. Environment.getExternalStorageDirectory()

    Environment.getExternalStorageDirectory()得到的是storage/emulated/0

  2. CentOS7 防火墙firewalld详细操作

    1.firewalld的基本使用 启动: systemctl start firewalld 查看状态: systemctl status firewalld  停止: systemctl disab ...

  3. GitHub 上下载单个文件夹

    写代码的一定经常去github上查看.下载一些源码,有时候会想下载一个项目中的一个文件夹里的内容,但是github上只提供了整个项目的下载,而整个项目里东西太多,压缩的文件太大,github的下载速度 ...

  4. MySQL关系表查询两个表的数据

    如下,有四张表:游戏类型表,游戏表,点卡和游戏关系表,点卡表 CREATE TABLE `gamesType`( `tId` INT AUTO_INCREMENT NOT NULL PRIMARY K ...

  5. Python内置函数(57)——print

    英文文档: print(*objects, sep=' ', end='\n', file=sys.stdout, flush=False) Print objects to the text str ...

  6. jscript定时器,一直用的东西,你真的明白吗?

    JavaScript定时器 JavaScript是一种解释型语言(边编译边执行),Js解析顺序是从上到下,然后将编译后的任务丢到一个事件队列中,然后事件内的函数会从上到下开始执行 setInterva ...

  7. MySQL基础操/下

    MySQL基础操 一.自增补充 desc (表名)t1: 查看表格信息内容 表的信息 show create table t1(表名):也是查看信息,还不多是横向查看 show create tabl ...

  8. hdu1728 逃离迷宫---转弯次数不超过k+BFS

    题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=1728 题目大意: 给你一幅图,给出起点终点和最大转弯次数,判断是否能从起点到终点.'*'表示障碍物. ...

  9. jacascript DOM节点——元素节点、属性节点、文本节点

    前言:这是笔者学习之后自己的理解与整理.如果有错误或者疑问的地方,请大家指正,我会持续更新! DOM节点的三个种类:元素节点.文本节点.属性节点: 元素节点 元素节点就是 HTML 标签元素,元素节点 ...

  10. OS模块文件操作一

    1          文件操作 1.1               OS模块 l  import os  #引入os模块 l  import os.path  #引入os下的path子模块 l  os ...