Python 面向对象(二) 特殊方法

一些Python特殊方法的汇总

__bases__              类的基类,返回元祖
__base__                类的基类,也叫父类
__call__                  ‘类名()‘,类名加括号调用时执行的语句
__class__               表示当前操作的对象的类是什么
__del__                   析构方法,对象在内存中被释放时,自动触发执行
__dict__                  存储类或实例的所有属性
__doc__                  类的描述信息
__import__              动态导入模块
__init__                   构造方法,实例创建时如何初始化
__metaclass__       元类,定义这个类以怎么的形式被创建,1)拦截类的创建,2)修改类,3)返回修改之后的类
__module__           表示当前操作的对象在哪个模块
__mro__                method resolution order 多继承时方法搜索顺序,返回的是元祖
mro()                      同__mro__,返回列表
__new__                定义如何创建实例
__repr__                表现,重写,格式输出
__str__                  调用str函数时会引发,强制类型转换时会引用
__subclass__         存储子类列表

时间: 2024-08-24 06:56:24

Python 面向对象(二) 特殊方法的相关文章

python面向对象(二)

类的成员 类的成员可以分为三大类:字段.方法和属性 一.字段 字段包括:普通字段和静态字段,他们在定义和使用中有所区别,而最本质的区别是内存中保存的位置不同, 普通字段属于对象 静态字段属于类 class foo: # 字段(静态字段,保存在类里) cc = '111' def __init__(self): # 字段(普通的字段,保存在对象里) self.name = 'mxz' def f1(self): print(self.name) class Province: # 静态字段 cou

python面向对象二

1.1类的静态属性,类方法,类的静态方法 1.1.1静态属性(@property) 在类中: python内置的@property装饰器就是负责把一个方法(函数)变成属性来调用. class Student: def __init__(self,name,age,score): self.name = name self.age = age self.score = score @property def get_score(self): return self.score def learn(

Python 面向对象 二

通过此方法communicate  管道 日志模块logging python单独提供 re.split(规则,字符串,1)以第一个符合规则的进行分割. random 模块 将数字转换为字母char(65) = A __init__:构造方法,实例化的时候执行 经典类: 如: class N: pass 新式类: 如: class M(object): pass 一个类不管直接或间接的继承object类就是新式类.推荐使用新式类 两者区别: 继承:java.C# 不支持多继承,python 支持

python 面向对象之路 方法和函数 反射

一. isinstance(检查第一个参数是否是第二个参数的 子子孙孙类) class Base(object): pass class Foo(Base): pass obj1 = Foo() print(isinstance(obj1,Foo)) print(isinstance(obj1,Base)) issubclass(检查的一个参数(对象) 是否是第二个参数(类及父类)的实例) class Base(object): pass class Foo(Base): pass class

Python面向对象编程 绑定方法

类的函数属性绑定给不同对象,是不同的绑定方法.对象调用绑定方法时会把对象本身当做self参数传入 示例代码 class People: country = 'China' ? def __init__(self, name, sex, age): self.Name = name self.Sex = sex self.Age = age ? def test(self): print(self) ? ? conan = People('Conan', 'male', 8) wukong = P

四十一、python面向对象二

A.成员: 1.字段:静态字段(每个对象都有同一字段),普通字典(每个对象都有不同的数据) 2.方法:静态方法(无需使用对象的内容),类方法,普通方法(使用对象中的数据) 3.特性:普通特性(将方法伪造成字段) 通过类去访问的有:静态字段,静态方法,类方法 通过对象去访问的有:普通字段,类的方法 自己的成员自己去访问 静态方法:没有self,前添加@staticmethod,即为静态方法(通过类去访问) 类方法:比静态方法多一个参数,该参数是为了显示哪个类,前添加@classmethod 特性:

九.python面向对象(内置方法)

一. 内置方法 1.__getattr__ 原文地址:https://www.cnblogs.com/Sup-to/p/10887811.html

Python面向对象编程总结(上)

在我学习python之前一直认为python是脚本型语言,不能用面相对象的方法进行编程,当我学习了python之后我发现我错了,python不但支持面相对象而且使用的人还挺多的.我从接触编程开始就是学习的Java语言,所以面相对象编程的思想在我的脑海里根深蒂固,让我一下从面向对象编程转换到面向过程编程还有一些不适应呢,所以我就来总结一下python面向对象编程的方法和过程.我将按照面向对象的构成要素来分析,依次为类和实例.属性.方法.封装.继承.多态,如果有什么问题还请大家积极指出,我所用的版本

Python自动化开发 - 面向对象(二)

本节内容 1.isinstance(obj,cls)和issubclass(sub,super) 2.反射 3.__setattr__,__delattr__,__getattr__ 一. isinstance(obj,cls)和issubclass(sub,super) 1.isinstance(obj,cls) 检查obj是否是类 cls 的对象 class Foo(object): pass obj = Foo() print(isinstance(obj, Foo)) # True 2.