python面向对象

一.什么是对象

对象的基本概念

>>>“万物皆对象”

Python中的所有事物都是以对象形式存在,从简单的数值类型,到复杂的代码模块,都是对象

>>>对象(object)

既表示客观世界问题空间中的某个具体事物,又表示软件系统解空间中的基本元素

>>>对象 = 属性 + 方法

对象以 id 作为标识,既包含数据(属性),也包括代码(方法),是某一类具体事物的特殊实例

创建对象

>>>对象是类的实例,是程序的基本单位

要创建一个新的对象,首先必须定义一个类,用以指明该类型的对象所包含的内容(属性和方法)

同一类(class)的对象具有相同的属性和方法,但属性值和 id 不同

>>>对象的名词

赋值语句给予对象以名称,对象可以有多个名称(变量引用),但只有一个 id 

例:a = complex(1, 2)

>>>对象实现了属性和方法的封装,是一种数据抽象机制

提高了软件的重用性、灵活性、扩展性

对象属性和引用方式

>>>引用形式

    <对象名>.<属性名>

可以跟一般的变量一样用在赋值语句和表达式中

例:"abc".upper()

  (1+2j).real

  (1+2j).imag

>>>Python语言动态的特征,使得对象可以随时增删属性或者方法

面向对象编程

>>>面向对象编程(OOP)是一种程序设计范式,同时也是一种程序开发方式

程序中包含各种独立又能互相调用的对象,每个对象都能接受、处理数据并将数据传给其他对象

>>>传统程序设计

将程序看作一系列函数或指令的集合

二.类的定义与调用

什么是类

>>>类(class)是对象的模板,封装了对象现实实体的性质和行为

>>>实例对象(Instance Objects)是类的具体化

>>>把类比作模具,对象则是用模具制造出来的零件

>>>类的出现,为面向对象编程的三个最重要的特性提供了实现的手段

——封装性、继承性、多态性

>>>和函数相似,类是一系列代码的封装

——Python中约定,类名用大写字母开头,函数用小写字母开头,以便区分

定义类

>>>class语句

  

class <类名>:

      <一系列方法的调用>

>>>类的初始化

class <类名>:
    def __init__(self, <参数表>):

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




__init__()  是一个特殊的函数名,用于根据类的定

调用类

>>> <类名>.(<参数>)

调用类会创建一个对象,(注意括号!)
            obj = <类名>(<参数表>)

返回一个对象实例
类方法中的self指这个对象实例!        

>>>使用点(.)操作符来调用对象里的方法

t = turtle.Pen()
t.forward(100)
t.left(90)
~~
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()
原文地址:https://www.cnblogs.com/justlikecode/p/10721068.html