Python 面向对象 二

时间:2022-05-17 19:47:54

通过此方法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__方法,那么在打印 对象 时,默认输出该方法的返回值。


本文出自 “Python” 博客,请务必保留此出处http://dzlly1.blog.51cto.com/932657/1722261