Python零基础入门学习30:类与面向对象编程:类的定义和调用

:本文所有代码均经过Python 3.7实际运行检验,保证其严谨性。

本文阅读时间约为3分钟

什么是类

类(class)是对象的模板,封装了对应现实实体的性质和行为。实例对象(Instance Objects)是类的具体化。如果把类比做模具,对象则是用模具制造出来的零件。

类的出现,为面向对象编程的三个最重要的特性提供了实现的手段:封装(把所有属性、方法集中在一起,而不是分散到各处)、继承(不同对象共享共同属性)、多态(比如abs函数对整数取绝对值,但是对复数求的是模)。

和函数相似,类是一系列代码的封装。两者调用时是一样的。Python中约定,一般类名用大写字母开头,函数用小写字母开头,以区分类和函数。

类的定义

用class语句来定义。

class <类名>:
    <一系列方法的调用>

类的初始化:

class <类名>:
    def __int__(self, <参数表>):
    def <方法名>(self, <参数表>):    

__int__()是一个特殊的函数名,用于根据类的定义创建实例对象,第一个参数必须是self。

类的调用:

<类名>(<参数>)

调用类会创建一个对象。类的调用跟函数是一样的,不同之处在于:
函数的调用会返回一个值;而类的调用会创建一个类的实例,即对象,对象一般会赋值给一个变量。类方法中的self就是指类的实例,也就是这个对象。

使用点“.”操作符来调用对象里的方法:

t  =  turtle.Pen()
类的一个例子

下面是类的一个具体例子。

类的一个例子

FF_{1}F_{2}的合力。

class Force:  # 力。
    def __init__(self, x, y):  # x, y方向分量。
        self.fx, self.fy = x, y 
    
    def show(self):  # 打印出力的值。
        print("Force<%s, %s>" % (self.fx, self.fy))
    
    def add(self, force2):  # 与另一个力合成。
        x = self.fx + force2.fx
        y = self.fy + force2.fy
        return Force(x, y)
    
# 生成一个力的对象。
f1 = Force(0, 1)
f1.show()        

# 生成另一个力对象。    
f2 = Force(3, 4)
# 合成新的力。
f3 = f1.add(f2)
f3.show()

<<<
Force<0, 1>
Force<3, 5>
<<<

To be continued.

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容