Python 面向对象 二

通过此方法communicate  管道

日志模块logging python单独提供

re.split(规则,字符串,1)以第一个符合规则的进行分割。

random 模块

将数字转换为字母char(65) = A

__init__:构造方法,实例化的时候执行

经典类:

如: class N:

pass

新式类:

如: class M(object):

pass

一个类不管直接或间接的继承object类就是新式类。推荐使用新式类

两者区别:

继承:java、C# 不支持多继承,python 支持多继承

经典类,深度优先查找

新式类:广度优先查找

类里面包含:方法、字段和属性

属性:属性在定义时在顶部加一个装饰器property,执行时不加括号,目的把一个方法伪造成字段

新式类里面的属性前面可以加@方法.setter和@方法.deleter

普通字段:如,self.name

静态字段: 如,在类中写。 class  F:

name = ‘erric‘ #静态字段

对于静态字段使用类名.字段调用

对于普通字段使用对象.字段调用

普通方法:self->对象,对象调用,参数,至少有一个self

类方法:使用装饰器classmethod

如:

@classmethod

只能有一个参数cls,是类调用,可以直接用类调用方法不用在创建对象,直接用类调用。

静态方法:使用装饰器@staticmethod

参数可以任意,是类调用,可以直接用类调用方法不用在创建对象,直接用类调用。

python 修饰符,私有和公有,私有只有自己内部才能使用,公有任何地方都可以调用。

私有对象可以访问,需要对象._类__成员

python 封装

1、多个方法公用一组变量,变量封装到对象中

2、用一个模板创建多个方法。

python 继承

1、基类、派生类

2、多继承

3、新式类、经典类

4、经典类深度优先,新式类广度优先 -->面试中用

类、对象、内存图

类成员

1、字段

普通字段

静态字段

2、方法

普通方法:触发者:对象  至少一个self,self = 当前对象

类方法:触发者:类 只有一个cls cls = 当前类

静态方法:触发者:类  任意参数

3、属性(对方法的变种,变成访问时跟字段相似不需要加括号)

访问方式:

方法一:@property

方法二:Data = property(方法名)

obj.Data = 执行方法,并获取方法的返回值

新式类中的属性

@property

@方法名.setter

@方法名.deleter

类成员修饰符:

公有、私有

私有前面加两个下划线,只能内部访问,其他任何地方都访问不到

如果非要访问私有属性,需要对象._类__成员

__call__:

对象(),执行call方法

__dict__:

查看类或对象里面的成员

__str__:

如果一个类中定义了__str__方法,那么在打印 对象 时,默认输出该方法的返回值。

时间: 2025-01-17 11:20:30

Python 面向对象 二的相关文章

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面向对象(二)

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

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

一些Python特殊方法的汇总 __bases__              类的基类,返回元祖__base__                类的基类,也叫父类__call__                  '类名()',类名加括号调用时执行的语句__class__               表示当前操作的对象的类是什么__del__                   析构方法,对象在内存中被释放时,自动触发执行__dict__                  存储类或实例的所有属性

四十一、python面向对象二

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

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.

Python 面向对象进阶(二)

1. 垃圾回收 小整数对象池 Python对小整数的定义是 [-5, 257),这些整数对象是提前建立好的; 在一个Python程序中,所有位于这个范围内的整数,使用的都是同一个对象; 单个字符共用对象,常驻内存; 大整数对象池 每一个大整数,均创建一个新的对象; intern机制 单个单词,不可修改,默认开启intern机制,共用对象,当引用计数为0时,则销毁; 字符串(含有空格),不可修改,没有开启intern机制,不共用对象; # 示例: a1 = "Helloworld" a2

Python之路【第十二篇】:Python面向对象高级

一.反射 1 什么是反射 反射的概念是由Smith在1982年首次提出的,主要是指程序可以访问.检测和修改它本身状态或行为的一种能力(自省).这一概念的提出很快引发了计算机科学领域关于应用反射性的研究.它首先被程序语言的设计领域所采用,并在Lisp和面向对象方面取得了成绩. 2 python面向对象中的反射:通过字符串的形式操作对象相关的属性.python中的一切事物都是对象(都可以使用反射) 四个可以实现自省的函数 下列方法适用于类和对象(一切皆对象,类本身也是一个对象) 导入其他模块,利用反

python面向对象进阶

isinstance(obj,cls)检查是否obj是否是类 cls 的对象. isinstance(obj,cls)检查是否obj是否是类 cls 的对象. 反射 python面向对象中的反射:通过字符串的形式操作对象相关的属性.python中的一切事物都是对象(都可以使用反射) 四个可以实现自省的函数(参数是对象,字符串格式的属性名) hasattr getattr setattr delattr __del__,就是析构方法,当对象在内存中被释放时,自动触发执行. 注:此方法一般无须定义,

python 面向对象(进阶篇)

上一篇<Python 面向对象(初级篇)>文章介绍了面向对象基本知识: 面向对象是一种编程方式,此编程方式的实现是基于对 类 和 对象 的使用 类 是一个模板,模板中包装了多个“函数”供使用(可以讲多函数中公用的变量封装到对象中) 对象,根据模板创建的实例(即:对象),实例用于调用被包装在类中的函数 面向对象三大特性:封装.继承和多态 本篇将详细介绍Python 类的成员.成员修饰符.类的特殊成员. 类的成员 类的成员可以分为三大类:字段.方法和属性 注:所有成员中,只有普通字段的内容保存对象