机器学习之python入门指南(五)面对对象简介

Python3面向对象简介

类定义

格式

classClassName:

   <statement-1>

   …

   <statement-n>

类实例化之后,便可以使用其属性。

类对象

类对象支持两种操作:属性引用和实例化

属性引用的格式:obj.name

实例如下

运行结果为:

1

Hello Python

类有一个名为__init__()的特殊方法(构造方法),该方法在类实例化时会自动调用。当然__init__()可以有参数,参数通过__init__()传递到类的实例化操作上。如:

 
运行结果为:
1 2

self:代表类的实例而不是类

类的方法和普通函数只有一个特别的区别——必须有一个额外的参数名称:self,

从上面结果可以很明显的看出,self 代表的是类的实例,代表当前对象的地址,self 不是 python 关键字。我们把他换成其他的也是可以正常运行的。

类的方法

在类的内部,使用 def 关键字来定义一个方法

运行结果为:

小明说:我10岁。

继承

格式:

class子类名(父类名)   

   语句

例子如下(父类是上面的People)


运行结果为:小明说:我10岁,我在读3年级

类的多继承

格式:Class子类名(父类名1,父类名2,…)   

       语句

  需要注意圆括号中父类的顺序,若是父类中有相同的方法名,而在子类使用时未指定,Python从左至右搜索 即方法在子类中未找到时,从左到右查找父类中是否包含方法。

实例(以下类Student是上面的Student类,有波浪线是因为少空了一行要不然截图截不下):

可以看出调用的speak()方法是Speak类的方法,因为继承的时候把Speak类写在Student的前面

运行结果为:

我叫小明,我的演讲主题是Python

方法重写

如果父类的方法的功能不能满足需求,可以在子类重写父类的方法。

如下:(super()函数是用来调用父类的一个方法)

运行结果为:

调用子类方法

调用父类方法

类的私有属性和私有方法   类的私有属性:两个下划线开头,声明该属性为私有,不能在类地外部被使用或直接访问,在类内部的方法中使用时self.__private_attrs   类的私有方法:__private_method:两个下划线开头,声明该方法为私有方法,只能在类的内部调用,不能在类地外部调用。self.__private_methods。

猜你喜欢

转载自blog.csdn.net/dlhlSC/article/details/83780635