• 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()
  • 相关阅读:
    project 2013 激活 key 7YHNW-RVCQY-VBDB2-QX69Q-B96WK viso 66DNF-28W69-W4PPV-W3VYT-TJDBQ
    电脑快捷键
    Error (167005): Can't assign I/O pad "GX_TX" to PIN_AG27 because this causes failure in the placement of the other atoms in its associated channel
    学习资源
    数值孔径
    网络通信芯片
    DMD数字微镜
    运放输入阻抗
    DS18B20测温
    LED灯开关电路
  • 原文地址:https://www.cnblogs.com/justlikecode/p/10721068.html
Copyright © 2020-2023  润新知